diff options
Diffstat (limited to 'drivers/tty/hvc/hvsi_lib.c')
| -rw-r--r-- | drivers/tty/hvc/hvsi_lib.c | 26 | 
1 files changed, 12 insertions, 14 deletions
diff --git a/drivers/tty/hvc/hvsi_lib.c b/drivers/tty/hvc/hvsi_lib.c index ac2767100df..7ae6c293e51 100644 --- a/drivers/tty/hvc/hvsi_lib.c +++ b/drivers/tty/hvc/hvsi_lib.c @@ -1,5 +1,4 @@  #include <linux/types.h> -#include <linux/init.h>  #include <linux/delay.h>  #include <linux/slab.h>  #include <linux/console.h> @@ -9,7 +8,7 @@  static int hvsi_send_packet(struct hvsi_priv *pv, struct hvsi_header *packet)  { -	packet->seqno = atomic_inc_return(&pv->seqno); +	packet->seqno = cpu_to_be16(atomic_inc_return(&pv->seqno));  	/* Assumes that always succeeds, works in practice */  	return pv->put_chars(pv->termno, (char *)packet, packet->len); @@ -28,7 +27,7 @@ static void hvsi_start_handshake(struct hvsi_priv *pv)  	/* Send version query */  	q.hdr.type = VS_QUERY_PACKET_HEADER;  	q.hdr.len = sizeof(struct hvsi_query); -	q.verb = VSV_SEND_VERSION_NUMBER; +	q.verb = cpu_to_be16(VSV_SEND_VERSION_NUMBER);  	hvsi_send_packet(pv, &q.hdr);  } @@ -40,7 +39,7 @@ static int hvsi_send_close(struct hvsi_priv *pv)  	ctrl.hdr.type = VS_CONTROL_PACKET_HEADER;  	ctrl.hdr.len = sizeof(struct hvsi_control); -	ctrl.verb = VSV_CLOSE_PROTOCOL; +	ctrl.verb = cpu_to_be16(VSV_CLOSE_PROTOCOL);  	return hvsi_send_packet(pv, &ctrl.hdr);  } @@ -69,14 +68,14 @@ static void hvsi_got_control(struct hvsi_priv *pv)  {  	struct hvsi_control *pkt = (struct hvsi_control *)pv->inbuf; -	switch (pkt->verb) { +	switch (be16_to_cpu(pkt->verb)) {  	case VSV_CLOSE_PROTOCOL:  		/* We restart the handshaking */  		hvsi_start_handshake(pv);  		break;  	case VSV_MODEM_CTL_UPDATE:  		/* Transition of carrier detect */ -		hvsi_cd_change(pv, pkt->word & HVSI_TSCD); +		hvsi_cd_change(pv, be32_to_cpu(pkt->word) & HVSI_TSCD);  		break;  	}  } @@ -87,7 +86,7 @@ static void hvsi_got_query(struct hvsi_priv *pv)  	struct hvsi_query_response r;  	/* We only handle version queries */ -	if (pkt->verb != VSV_SEND_VERSION_NUMBER) +	if (be16_to_cpu(pkt->verb) != VSV_SEND_VERSION_NUMBER)  		return;  	pr_devel("HVSI@%x: Got version query, sending response...\n", @@ -96,7 +95,7 @@ static void hvsi_got_query(struct hvsi_priv *pv)  	/* Send version response */  	r.hdr.type = VS_QUERY_RESPONSE_PACKET_HEADER;  	r.hdr.len = sizeof(struct hvsi_query_response); -	r.verb = VSV_SEND_VERSION_NUMBER; +	r.verb = cpu_to_be16(VSV_SEND_VERSION_NUMBER);  	r.u.version = HVSI_VERSION;  	r.query_seqno = pkt->hdr.seqno;  	hvsi_send_packet(pv, &r.hdr); @@ -112,7 +111,7 @@ static void hvsi_got_response(struct hvsi_priv *pv)  	switch(r->verb) {  	case VSV_SEND_MODEM_CTL_STATUS: -		hvsi_cd_change(pv, r->u.mctrl_word & HVSI_TSCD); +		hvsi_cd_change(pv, be32_to_cpu(r->u.mctrl_word) & HVSI_TSCD);  		pv->mctrl_update = 1;  		break;  	} @@ -265,8 +264,7 @@ int hvsilib_read_mctrl(struct hvsi_priv *pv)  	pv->mctrl_update = 0;  	q.hdr.type = VS_QUERY_PACKET_HEADER;  	q.hdr.len = sizeof(struct hvsi_query); -	q.hdr.seqno = atomic_inc_return(&pv->seqno); -	q.verb = VSV_SEND_MODEM_CTL_STATUS; +	q.verb = cpu_to_be16(VSV_SEND_MODEM_CTL_STATUS);  	rc = hvsi_send_packet(pv, &q.hdr);  	if (rc <= 0) {  		pr_devel("HVSI@%x: Error %d...\n", pv->termno, rc); @@ -304,9 +302,9 @@ int hvsilib_write_mctrl(struct hvsi_priv *pv, int dtr)  	ctrl.hdr.type = VS_CONTROL_PACKET_HEADER,  	ctrl.hdr.len = sizeof(struct hvsi_control); -	ctrl.verb = VSV_SET_MODEM_CTL; -	ctrl.mask = HVSI_TSDTR; -	ctrl.word = dtr ? HVSI_TSDTR : 0; +	ctrl.verb = cpu_to_be16(VSV_SET_MODEM_CTL); +	ctrl.mask = cpu_to_be32(HVSI_TSDTR); +	ctrl.word = cpu_to_be32(dtr ? HVSI_TSDTR : 0);  	return hvsi_send_packet(pv, &ctrl.hdr);  }  | 
