diff options
author | Leed Aguilar <leed.aguilar@ti.com> | 2012-06-06 16:14:56 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-06-07 14:32:59 +0900 |
commit | 040f3e5833b9426aaeead6da8957a9b87f3ca9e8 (patch) | |
tree | 57d17d19923c011385645b5e3cf0ec70f7c7599f | |
parent | 74dcd439bf8c16b01f9f5a9dffb2b171ed94e2e5 (diff) | |
download | op-kernel-dev-040f3e5833b9426aaeead6da8957a9b87f3ca9e8.zip op-kernel-dev-040f3e5833b9426aaeead6da8957a9b87f3ca9e8.tar.gz |
staging:iio:magnetometer:ak8975: set power-down mode after reading fuse ROM data
Fuse ROM data access mode is the only mode which does not
transition to power-down mode automatically.
As per the AK8975 data sheet, it is recomended to set the
power-down mode first before attempting to change into
another mode.
Signed-off-by: Leed Aguilar <leed.aguilar@ti.com>
Acked-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/staging/iio/magnetometer/ak8975.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/staging/iio/magnetometer/ak8975.c b/drivers/staging/iio/magnetometer/ak8975.c index 7562caf..001b3bf 100644 --- a/drivers/staging/iio/magnetometer/ak8975.c +++ b/drivers/staging/iio/magnetometer/ak8975.c @@ -194,6 +194,17 @@ static int ak8975_setup(struct i2c_client *client) return ret; } + /* After reading fuse ROM data set power-down mode */ + ret = ak8975_write_data(client, + AK8975_REG_CNTL, + AK8975_REG_CNTL_MODE_POWER_DOWN, + AK8975_REG_CNTL_MODE_MASK, + AK8975_REG_CNTL_MODE_SHIFT); + if (ret < 0) { + dev_err(&client->dev, "Error in setting power-down mode\n"); + return ret; + } + /* * Precalculate scale factor (in Gauss units) for each axis and * store in the device data. |