Skip to contentSkip to conversation

input: ads7846.c remove sparse endian warnings

PATCH New Harvey Harrison 1 participant 1 message Jul 4, 2008 Input drivers

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 input: ads7846.c remove sparse endian warnings

Also remove the temporary pointer and use ->rx_buf directly.

---
 drivers/input/touchscreen/ads7846.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)
drivers/input/touchscreen/ads7846.c +2 -4
index 907a45f..4d06032 100644
@@ -633,19 +633,17 @@ static void ads7846_rx_val(void *ads)
 	struct ads7846 *ts = ads;
 	struct spi_message *m;
 	struct spi_transfer *t;
-	u16 *rx_val;
 	int val;
 	int action;
 	int status;
 
 	m = &ts->msg[ts->msg_idx];
 	t = list_entry(m->transfers.prev, struct spi_transfer, transfer_list);
-	rx_val = t->rx_buf;
 
 	/* adjust:  on-wire is a must-ignore bit, a BE12 value, then padding;
 	 * built from two 8 bit values written msb-first.
 	 */
-	val = be16_to_cpu(*rx_val) >> 3;
+	val = be16_to_cpup((__be16 *)t->rx_buf) >> 3;
 
 	action = ts->filter(ts->filter_data, ts->msg_idx, &val);
 	switch (action) {
@@ -659,7 +657,7 @@ static void ads7846_rx_val(void *ads)
 		m = ts->last_msg;
 		break;
 	case ADS7846_FILTER_OK:
-		*rx_val = val;
+		*(u16 *)t->rx_buf = val;
 		ts->tc.ignore = 0;
 		m = &ts->msg[++ts->msg_idx];
 		break;
Signature · 1 line
1.5.6.1.281.g1087e