staging:iio:magnetometer:ak8975 drop I2C_M_NOSTART flag in read_data
authorJonathan Cameron <jic23@kernel.org>
Sun, 24 Mar 2013 16:58:00 +0000 (16:58 +0000)
committerJonathan Cameron <jic23@kernel.org>
Tue, 2 Apr 2013 17:36:24 +0000 (18:36 +0100)
This flag makes no sense whatsoever where it is.
Documentation/i2c/i2c-protocol states:

  If you set the I2C_M_NOSTART variable for the first partial message,
  we do not generate Addr, but we do generate the startbit S. This will
  probably confuse all other clients on your bus, so don't try this.

This is exactly what is going on here.  Likelihood given that the
driver never checked for this protocol mangling being available is that
it wasn't present on the test boards and hence this flag was simply
ignored.  No indication of why it would be necessary has been found in
the datasheets.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Acked-by: Laxman Dewangan <ldewangan@nvidia.com>
drivers/staging/iio/magnetometer/ak8975.c

index 8726ea1de08379ec78f2873f4ad2bf5e1cad34b1..1428849fd5a232c03e349280e581cd8a4bce14c2 100644 (file)
@@ -132,7 +132,6 @@ static int ak8975_read_data(struct i2c_client *client,
        struct i2c_msg msg[2] = {
                {
                        .addr = client->addr,
-                       .flags = I2C_M_NOSTART,
                        .len = 1,
                        .buf = &reg,
                }, {