[PATCH 3.18 36/59] iio: proximity: as3935: fix as3935_write

From: Greg Kroah-Hartman
Date: Tue May 23 2017 - 17:02:03 EST


3.18-stable review patch. If anyone has any objections, please let me know.

------------------

From: Matt Ranostay <matt.ranostay@xxxxxxxxxxxx>

commit 84ca8e364acb26aba3292bc113ca8ed4335380fd upstream.

AS3935_WRITE_DATA macro bit is incorrect and the actual write
sequence is two leading zeros.

Cc: George McCollister <george.mccollister@xxxxxxxxx>
Signed-off-by: Matt Ranostay <matt.ranostay@xxxxxxxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
drivers/iio/proximity/as3935.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

--- a/drivers/iio/proximity/as3935.c
+++ b/drivers/iio/proximity/as3935.c
@@ -50,7 +50,6 @@
#define AS3935_TUNE_CAP 0x08
#define AS3935_CALIBRATE 0x3D

-#define AS3935_WRITE_DATA BIT(15)
#define AS3935_READ_DATA BIT(14)
#define AS3935_ADDRESS(x) ((x) << 8)

@@ -103,7 +102,7 @@ static int as3935_write(struct as3935_st
{
u8 *buf = st->buf;

- buf[0] = (AS3935_WRITE_DATA | AS3935_ADDRESS(reg)) >> 8;
+ buf[0] = AS3935_ADDRESS(reg) >> 8;
buf[1] = val;

return spi_write(st->spi, buf, 2);