提交 ea19ed3b 编写于 作者: L Lars-Peter Clausen 提交者: Greg Kroah-Hartman

staging:iio:adis16400_ring: Pass IIO device directly

When calling adis16350_spi_read_all and adis16400_spi_read_burst we pass the
device struct of embedded in the IIO device only to look up the IIO device from
the device struct again right away. This patch changes the code to pass the IIO
device directly.
Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
Acked-by: NJonathan Cameron <jic23@kernel.org>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 2a0b871c
...@@ -13,13 +13,12 @@ ...@@ -13,13 +13,12 @@
/** /**
* adis16400_spi_read_burst() - read all data registers * adis16400_spi_read_burst() - read all data registers
* @dev: device associated with child of actual device (iio_dev or iio_trig) * @indio_dev: the IIO device
* @rx: somewhere to pass back the value read (min size is 24 bytes) * @rx: somewhere to pass back the value read (min size is 24 bytes)
**/ **/
static int adis16400_spi_read_burst(struct device *dev, u8 *rx) static int adis16400_spi_read_burst(struct iio_dev *indio_dev, u8 *rx)
{ {
struct spi_message msg; struct spi_message msg;
struct iio_dev *indio_dev = dev_get_drvdata(dev);
struct adis16400_state *st = iio_priv(indio_dev); struct adis16400_state *st = iio_priv(indio_dev);
u32 old_speed_hz = st->us->max_speed_hz; u32 old_speed_hz = st->us->max_speed_hz;
int ret; int ret;
...@@ -71,9 +70,8 @@ static const u16 read_all_tx_array[] = { ...@@ -71,9 +70,8 @@ static const u16 read_all_tx_array[] = {
cpu_to_be16(ADIS16400_READ_REG(ADIS16400_AUX_ADC)), cpu_to_be16(ADIS16400_READ_REG(ADIS16400_AUX_ADC)),
}; };
static int adis16350_spi_read_all(struct device *dev, u8 *rx) static int adis16350_spi_read_all(struct iio_dev *indio_dev, u8 *rx)
{ {
struct iio_dev *indio_dev = dev_get_drvdata(dev);
struct adis16400_state *st = iio_priv(indio_dev); struct adis16400_state *st = iio_priv(indio_dev);
struct spi_message msg; struct spi_message msg;
...@@ -132,13 +130,13 @@ static irqreturn_t adis16400_trigger_handler(int irq, void *p) ...@@ -132,13 +130,13 @@ static irqreturn_t adis16400_trigger_handler(int irq, void *p)
if (scan_count) { if (scan_count) {
if (st->variant->flags & ADIS16400_NO_BURST) { if (st->variant->flags & ADIS16400_NO_BURST) {
ret = adis16350_spi_read_all(&indio_dev->dev, st->rx); ret = adis16350_spi_read_all(indio_dev, st->rx);
if (ret < 0) if (ret < 0)
goto err; goto err;
for (; i < scan_count; i++) for (; i < scan_count; i++)
data[i] = *(s16 *)(st->rx + i*2); data[i] = *(s16 *)(st->rx + i*2);
} else { } else {
ret = adis16400_spi_read_burst(&indio_dev->dev, st->rx); ret = adis16400_spi_read_burst(indio_dev, st->rx);
if (ret < 0) if (ret < 0)
goto err; goto err;
for (; i < scan_count; i++) { for (; i < scan_count; i++) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册