Commit a7ebaf46 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

Merge tag 'iio-fixes-for-3.12b2' of...

Merge tag 'iio-fixes-for-3.12b2' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus

Jonathan writes:

Second set of IIO fixes for the 3.12 cycle (take 2)

A few small fixes:
1) Make sure that debugfs entries are removed early enough to prevent
a race.
2) Drop a stray regulator_put from ad8366 left over from the devm_ patches.
3) The ST magnetometer driver had incorrect register addresses for the
   actual data channels.
parents 15c03dd4 512690da
...@@ -185,10 +185,8 @@ static int ad8366_remove(struct spi_device *spi) ...@@ -185,10 +185,8 @@ static int ad8366_remove(struct spi_device *spi)
iio_device_unregister(indio_dev); iio_device_unregister(indio_dev);
if (!IS_ERR(reg)) { if (!IS_ERR(reg))
regulator_disable(reg); regulator_disable(reg);
regulator_put(reg);
}
return 0; return 0;
} }
......
...@@ -852,7 +852,6 @@ static void iio_dev_release(struct device *device) ...@@ -852,7 +852,6 @@ static void iio_dev_release(struct device *device)
iio_device_unregister_trigger_consumer(indio_dev); iio_device_unregister_trigger_consumer(indio_dev);
iio_device_unregister_eventset(indio_dev); iio_device_unregister_eventset(indio_dev);
iio_device_unregister_sysfs(indio_dev); iio_device_unregister_sysfs(indio_dev);
iio_device_unregister_debugfs(indio_dev);
ida_simple_remove(&iio_ida, indio_dev->id); ida_simple_remove(&iio_ida, indio_dev->id);
kfree(indio_dev); kfree(indio_dev);
...@@ -1087,6 +1086,7 @@ void iio_device_unregister(struct iio_dev *indio_dev) ...@@ -1087,6 +1086,7 @@ void iio_device_unregister(struct iio_dev *indio_dev)
if (indio_dev->chrdev.dev) if (indio_dev->chrdev.dev)
cdev_del(&indio_dev->chrdev); cdev_del(&indio_dev->chrdev);
iio_device_unregister_debugfs(indio_dev);
iio_disable_all_buffers(indio_dev); iio_disable_all_buffers(indio_dev);
......
...@@ -29,9 +29,9 @@ ...@@ -29,9 +29,9 @@
#define ST_MAGN_NUMBER_DATA_CHANNELS 3 #define ST_MAGN_NUMBER_DATA_CHANNELS 3
/* DEFAULT VALUE FOR SENSORS */ /* DEFAULT VALUE FOR SENSORS */
#define ST_MAGN_DEFAULT_OUT_X_L_ADDR 0X04 #define ST_MAGN_DEFAULT_OUT_X_H_ADDR 0X03
#define ST_MAGN_DEFAULT_OUT_Y_L_ADDR 0X08 #define ST_MAGN_DEFAULT_OUT_Y_H_ADDR 0X07
#define ST_MAGN_DEFAULT_OUT_Z_L_ADDR 0X06 #define ST_MAGN_DEFAULT_OUT_Z_H_ADDR 0X05
/* FULLSCALE */ /* FULLSCALE */
#define ST_MAGN_FS_AVL_1300MG 1300 #define ST_MAGN_FS_AVL_1300MG 1300
...@@ -117,16 +117,16 @@ ...@@ -117,16 +117,16 @@
static const struct iio_chan_spec st_magn_16bit_channels[] = { static const struct iio_chan_spec st_magn_16bit_channels[] = {
ST_SENSORS_LSM_CHANNELS(IIO_MAGN, ST_SENSORS_LSM_CHANNELS(IIO_MAGN,
BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE), BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE),
ST_SENSORS_SCAN_X, 1, IIO_MOD_X, 's', IIO_LE, 16, 16, ST_SENSORS_SCAN_X, 1, IIO_MOD_X, 's', IIO_BE, 16, 16,
ST_MAGN_DEFAULT_OUT_X_L_ADDR), ST_MAGN_DEFAULT_OUT_X_H_ADDR),
ST_SENSORS_LSM_CHANNELS(IIO_MAGN, ST_SENSORS_LSM_CHANNELS(IIO_MAGN,
BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE), BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE),
ST_SENSORS_SCAN_Y, 1, IIO_MOD_Y, 's', IIO_LE, 16, 16, ST_SENSORS_SCAN_Y, 1, IIO_MOD_Y, 's', IIO_BE, 16, 16,
ST_MAGN_DEFAULT_OUT_Y_L_ADDR), ST_MAGN_DEFAULT_OUT_Y_H_ADDR),
ST_SENSORS_LSM_CHANNELS(IIO_MAGN, ST_SENSORS_LSM_CHANNELS(IIO_MAGN,
BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE), BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE),
ST_SENSORS_SCAN_Z, 1, IIO_MOD_Z, 's', IIO_LE, 16, 16, ST_SENSORS_SCAN_Z, 1, IIO_MOD_Z, 's', IIO_BE, 16, 16,
ST_MAGN_DEFAULT_OUT_Z_L_ADDR), ST_MAGN_DEFAULT_OUT_Z_H_ADDR),
IIO_CHAN_SOFT_TIMESTAMP(3) IIO_CHAN_SOFT_TIMESTAMP(3)
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment