diff --git a/drivers/staging/iio/adc/ad7793.c b/drivers/staging/iio/adc/ad7793.c index 112e2b7b5bc4..5c2fcd7d2def 100644 --- a/drivers/staging/iio/adc/ad7793.c +++ b/drivers/staging/iio/adc/ad7793.c @@ -44,7 +44,6 @@ struct ad7793_state { struct iio_trigger *trig; const struct ad7793_chip_info *chip_info; struct regulator *reg; - struct ad7793_platform_data *pdata; wait_queue_head_t wq_data_avail; bool done; bool irq_dis; @@ -253,7 +252,8 @@ out: return ret; } -static int ad7793_setup(struct ad7793_state *st) +static int ad7793_setup(struct ad7793_state *st, + const struct ad7793_platform_data *pdata) { int i, ret = -1; unsigned long long scale_uv; @@ -277,9 +277,9 @@ static int ad7793_setup(struct ad7793_state *st) goto out; } - st->mode = (st->pdata->mode & ~AD7793_MODE_SEL(-1)) | + st->mode = (pdata->mode & ~AD7793_MODE_SEL(-1)) | AD7793_MODE_SEL(AD7793_MODE_IDLE); - st->conf = st->pdata->conf & ~AD7793_CONF_CHAN(-1); + st->conf = pdata->conf & ~AD7793_CONF_CHAN(-1); ret = ad7793_write_reg(st, AD7793_REG_MODE, sizeof(st->mode), st->mode); if (ret) @@ -290,7 +290,7 @@ static int ad7793_setup(struct ad7793_state *st) goto out; ret = ad7793_write_reg(st, AD7793_REG_IO, - sizeof(st->pdata->io), st->pdata->io); + sizeof(pdata->io), pdata->io); if (ret) goto out; @@ -882,7 +882,7 @@ static const struct ad7793_chip_info ad7793_chip_info_tbl[] = { static int __devinit ad7793_probe(struct spi_device *spi) { - struct ad7793_platform_data *pdata = spi->dev.platform_data; + const struct ad7793_platform_data *pdata = spi->dev.platform_data; struct ad7793_state *st; struct iio_dev *indio_dev; int ret, voltage_uv = 0; @@ -915,8 +915,6 @@ static int __devinit ad7793_probe(struct spi_device *spi) st->chip_info = &ad7793_chip_info_tbl[spi_get_device_id(spi)->driver_data]; - st->pdata = pdata; - if (pdata && pdata->vref_mv) st->int_vref_mv = pdata->vref_mv; else if (voltage_uv) @@ -944,7 +942,7 @@ static int __devinit ad7793_probe(struct spi_device *spi) if (ret) goto error_unreg_ring; - ret = ad7793_setup(st); + ret = ad7793_setup(st, pdata); if (ret) goto error_remove_trigger;