On 08/14/2012 10:19 PM, Jonathan Cameron wrote: > On 08/14/2012 08:39 PM, Jonathan Cameron wrote: >> On 08/10/2012 05:36 PM, Lars-Peter Clausen wrote: >>> The platform data for the device is only used from within the drivers probe >>> callback, so there is no need to keep it around in the devices state struct. >>> >>> While we are at it mark the platform data struct as const. >>> > There a couple of obvious bugs in this patch.... More than just the comma issue? > > My plan with these is to first send a series to Greg with the > fixes in it (not including this which is merely a cleanup?) > Once that shows up in his trees I'll do a second pull request with > this + the sigma delta cleanups. Sounds good. > It is probably the cleanest approach and we aren't pressed for time > at the moment. To show what will be in there I will push out > a new branch to kernel.org shortly togreg-postfixes. > > Lars-Peter, please verify that my fixup of this is correct > (all I've done is build tested it). Will do, thanks. > > >>> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> >>> --- >>> drivers/staging/iio/adc/ad7793.c | 14 ++++++-------- >>> 1 file changed, 6 insertions(+), 8 deletions(-) >>> >>> diff --git a/drivers/staging/iio/adc/ad7793.c b/drivers/staging/iio/adc/ad7793.c >>> index 112e2b7..0ba598e 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) >> Really odd. There's a missing comma between the arguments here... >> I'll fixup. >>> { >>> 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) >>> @@ -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; >>> >>> > -- > To unsubscribe from this list: send the line "unsubscribe linux-iio" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html