input: ads7846.c remove sparse endian warnings
PATCH 1/2 input: ads7846.c remove sparse endian warnings
Also remove the temporary pointer and use ->rx_buf directly.
Signed-off-by Harvey Harrison <[email protected]>
--- drivers/input/touchscreen/ads7846.c | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-)
drivers/input/touchscreen/ads7846.c +2 -4
@@ -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