Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 494f6857 authored by Harvey Harrison's avatar Harvey Harrison Committed by Dmitry Torokhov
Browse files

Input: ads7846 - fix sparse endian warnings



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

Signed-off-by: default avatarHarvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent 53703659
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -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;