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.
This commit is contained in:
@@ -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)
|
|||||||
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)
|
|||||||
|
|
||||||
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 @@
|
|||||||
#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 @@
|
|||||||
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)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user