aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iio/imu
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-02-11 17:12:12 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-02-11 17:12:12 -0500
commite5b9c0577206083c5bc501f8b77554dc7a5e6388 (patch)
tree1bf59db885f6ff7b17129020fb3a7600964bb6b0 /drivers/iio/imu
parent81291dd9484dd16e795ab4a69d16b401b2aa5821 (diff)
parent7da773e61831d677bfbe2bfcf10d39430f5a5bc2 (diff)
Merge tag 'iio-for-3.15a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
Jonathan writes: First set of new drivers and cleanups for IIO in the 3.15 cycle. New drivers: * si7005 relative humidity and temperature sensor * Lite-on ltr501 ambient light and proximity sensor Cleanups * Clean up some dead comments in max1363 * Drop some obsolete variables in adjd_s311 and tcs3472 left over from the introduction of iio_push_to_buffers_with_timestamp. * Drop some unneeded linux/init.h includes * Squish a sparse warning in mpl3115 by correctly specifying a be32 variable. * A number of cleanups and fixes for sca3000 * Drop an unneed checks in mxs-lradc, ad7303 and adis16400. * Drop a platform_set_drvdata in viperboard after the only use of it was removed during a devm conversion. * Add a missing device name for ak8975 to comply with the ABI. * Put mpu6050 into the IMU menu as it slipped out into the main menu. * Fix a typo and some comment formatting in mpu6050. * Document at91 ADC clock properties.
Diffstat (limited to 'drivers/iio/imu')
-rw-r--r--drivers/iio/imu/Kconfig4
-rw-r--r--drivers/iio/imu/adis16400_core.c2
-rw-r--r--drivers/iio/imu/inv_mpu6050/inv_mpu_core.c3
-rw-r--r--drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h38
-rw-r--r--drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c1
5 files changed, 23 insertions, 25 deletions
diff --git a/drivers/iio/imu/Kconfig b/drivers/iio/imu/Kconfig
index 663e88a1a3c1..2b0e45133e9d 100644
--- a/drivers/iio/imu/Kconfig
+++ b/drivers/iio/imu/Kconfig
@@ -25,6 +25,8 @@ config ADIS16480
25 Say yes here to build support for Analog Devices ADIS16375, ADIS16480, 25 Say yes here to build support for Analog Devices ADIS16375, ADIS16480,
26 ADIS16485, ADIS16488 inertial sensors. 26 ADIS16485, ADIS16488 inertial sensors.
27 27
28source "drivers/iio/imu/inv_mpu6050/Kconfig"
29
28endmenu 30endmenu
29 31
30config IIO_ADIS_LIB 32config IIO_ADIS_LIB
@@ -38,5 +40,3 @@ config IIO_ADIS_LIB_BUFFER
38 help 40 help
39 A set of buffer helper functions for the Analog Devices ADIS* device 41 A set of buffer helper functions for the Analog Devices ADIS* device
40 family. 42 family.
41
42source "drivers/iio/imu/inv_mpu6050/Kconfig"
diff --git a/drivers/iio/imu/adis16400_core.c b/drivers/iio/imu/adis16400_core.c
index 7c582f7ae34e..433583b6f800 100644
--- a/drivers/iio/imu/adis16400_core.c
+++ b/drivers/iio/imu/adis16400_core.c
@@ -281,7 +281,7 @@ static ssize_t adis16400_write_frequency(struct device *dev,
281 st->variant->set_freq(st, val); 281 st->variant->set_freq(st, val);
282 mutex_unlock(&indio_dev->mlock); 282 mutex_unlock(&indio_dev->mlock);
283 283
284 return ret ? ret : len; 284 return len;
285} 285}
286 286
287/* Power down the device */ 287/* Power down the device */
diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
index df7f1e1157ae..cb9f96b446a5 100644
--- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
+++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
@@ -12,7 +12,6 @@
12*/ 12*/
13 13
14#include <linux/module.h> 14#include <linux/module.h>
15#include <linux/init.h>
16#include <linux/slab.h> 15#include <linux/slab.h>
17#include <linux/i2c.h> 16#include <linux/i2c.h>
18#include <linux/err.h> 17#include <linux/err.h>
@@ -117,7 +116,7 @@ int inv_mpu6050_switch_engine(struct inv_mpu6050_state *st, bool en, u32 mask)
117 return result; 116 return result;
118 117
119 if (en) { 118 if (en) {
120 /* Wait for output stablize */ 119 /* Wait for output stabilize */
121 msleep(INV_MPU6050_TEMP_UP_TIME); 120 msleep(INV_MPU6050_TEMP_UP_TIME);
122 if (INV_MPU6050_BIT_PWR_GYRO_STBY == mask) { 121 if (INV_MPU6050_BIT_PWR_GYRO_STBY == mask) {
123 /* switch internal clock to PLL */ 122 /* switch internal clock to PLL */
diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h b/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h
index f38395529a44..0ab382be1e64 100644
--- a/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h
+++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h
@@ -126,35 +126,35 @@ struct inv_mpu6050_state {
126#define INV_MPU6050_REG_SAMPLE_RATE_DIV 0x19 126#define INV_MPU6050_REG_SAMPLE_RATE_DIV 0x19
127#define INV_MPU6050_REG_CONFIG 0x1A 127#define INV_MPU6050_REG_CONFIG 0x1A
128#define INV_MPU6050_REG_GYRO_CONFIG 0x1B 128#define INV_MPU6050_REG_GYRO_CONFIG 0x1B
129#define INV_MPU6050_REG_ACCEL_CONFIG 0x1C 129#define INV_MPU6050_REG_ACCEL_CONFIG 0x1C
130 130
131#define INV_MPU6050_REG_FIFO_EN 0x23 131#define INV_MPU6050_REG_FIFO_EN 0x23
132#define INV_MPU6050_BIT_ACCEL_OUT 0x08 132#define INV_MPU6050_BIT_ACCEL_OUT 0x08
133#define INV_MPU6050_BITS_GYRO_OUT 0x70 133#define INV_MPU6050_BITS_GYRO_OUT 0x70
134 134
135#define INV_MPU6050_REG_INT_ENABLE 0x38 135#define INV_MPU6050_REG_INT_ENABLE 0x38
136#define INV_MPU6050_BIT_DATA_RDY_EN 0x01 136#define INV_MPU6050_BIT_DATA_RDY_EN 0x01
137#define INV_MPU6050_BIT_DMP_INT_EN 0x02 137#define INV_MPU6050_BIT_DMP_INT_EN 0x02
138 138
139#define INV_MPU6050_REG_RAW_ACCEL 0x3B 139#define INV_MPU6050_REG_RAW_ACCEL 0x3B
140#define INV_MPU6050_REG_TEMPERATURE 0x41 140#define INV_MPU6050_REG_TEMPERATURE 0x41
141#define INV_MPU6050_REG_RAW_GYRO 0x43 141#define INV_MPU6050_REG_RAW_GYRO 0x43
142 142
143#define INV_MPU6050_REG_USER_CTRL 0x6A 143#define INV_MPU6050_REG_USER_CTRL 0x6A
144#define INV_MPU6050_BIT_FIFO_RST 0x04 144#define INV_MPU6050_BIT_FIFO_RST 0x04
145#define INV_MPU6050_BIT_DMP_RST 0x08 145#define INV_MPU6050_BIT_DMP_RST 0x08
146#define INV_MPU6050_BIT_I2C_MST_EN 0x20 146#define INV_MPU6050_BIT_I2C_MST_EN 0x20
147#define INV_MPU6050_BIT_FIFO_EN 0x40 147#define INV_MPU6050_BIT_FIFO_EN 0x40
148#define INV_MPU6050_BIT_DMP_EN 0x80 148#define INV_MPU6050_BIT_DMP_EN 0x80
149 149
150#define INV_MPU6050_REG_PWR_MGMT_1 0x6B 150#define INV_MPU6050_REG_PWR_MGMT_1 0x6B
151#define INV_MPU6050_BIT_H_RESET 0x80 151#define INV_MPU6050_BIT_H_RESET 0x80
152#define INV_MPU6050_BIT_SLEEP 0x40 152#define INV_MPU6050_BIT_SLEEP 0x40
153#define INV_MPU6050_BIT_CLK_MASK 0x7 153#define INV_MPU6050_BIT_CLK_MASK 0x7
154 154
155#define INV_MPU6050_REG_PWR_MGMT_2 0x6C 155#define INV_MPU6050_REG_PWR_MGMT_2 0x6C
156#define INV_MPU6050_BIT_PWR_ACCL_STBY 0x38 156#define INV_MPU6050_BIT_PWR_ACCL_STBY 0x38
157#define INV_MPU6050_BIT_PWR_GYRO_STBY 0x07 157#define INV_MPU6050_BIT_PWR_GYRO_STBY 0x07
158 158
159#define INV_MPU6050_REG_FIFO_COUNT_H 0x72 159#define INV_MPU6050_REG_FIFO_COUNT_H 0x72
160#define INV_MPU6050_REG_FIFO_R_W 0x74 160#define INV_MPU6050_REG_FIFO_R_W 0x74
@@ -180,10 +180,10 @@ struct inv_mpu6050_state {
180 180
181/* init parameters */ 181/* init parameters */
182#define INV_MPU6050_INIT_FIFO_RATE 50 182#define INV_MPU6050_INIT_FIFO_RATE 50
183#define INV_MPU6050_TIME_STAMP_TOR 5 183#define INV_MPU6050_TIME_STAMP_TOR 5
184#define INV_MPU6050_MAX_FIFO_RATE 1000 184#define INV_MPU6050_MAX_FIFO_RATE 1000
185#define INV_MPU6050_MIN_FIFO_RATE 4 185#define INV_MPU6050_MIN_FIFO_RATE 4
186#define INV_MPU6050_ONE_K_HZ 1000 186#define INV_MPU6050_ONE_K_HZ 1000
187 187
188/* scan element definition */ 188/* scan element definition */
189enum inv_mpu6050_scan { 189enum inv_mpu6050_scan {
diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c
index 429517117eff..0cd306a72a6e 100644
--- a/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c
+++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c
@@ -12,7 +12,6 @@
12*/ 12*/
13 13
14#include <linux/module.h> 14#include <linux/module.h>
15#include <linux/init.h>
16#include <linux/slab.h> 15#include <linux/slab.h>
17#include <linux/i2c.h> 16#include <linux/i2c.h>
18#include <linux/err.h> 17#include <linux/err.h>