diff options
author | Jonathan Cameron | 2011-05-18 15:42:37 +0200 |
---|---|---|
committer | Greg Kroah-Hartman | 2011-05-20 01:15:05 +0200 |
commit | 6fe8135fccd66aedcc55ded70824342587fd2499 (patch) | |
tree | 3afc7acfd0edc052ba93241761e935af9a3b6ebc /drivers/staging/iio/meter | |
parent | staging:iio:meter:ade7758: Use private data space from iio_allocate_device (diff) | |
download | kernel-qcow2-linux-6fe8135fccd66aedcc55ded70824342587fd2499.tar.gz kernel-qcow2-linux-6fe8135fccd66aedcc55ded70824342587fd2499.tar.xz kernel-qcow2-linux-6fe8135fccd66aedcc55ded70824342587fd2499.zip |
staging:iio: implement an iio_info structure to take some of the constant elements out of iio_dev.
This was suggested by Arnd Bergmann, Other elements may well
move in here in future, but it definitely makes sense for these.
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/iio/meter')
-rw-r--r-- | drivers/staging/iio/meter/ade7753.c | 8 | ||||
-rw-r--r-- | drivers/staging/iio/meter/ade7754.c | 8 | ||||
-rw-r--r-- | drivers/staging/iio/meter/ade7758_core.c | 8 | ||||
-rw-r--r-- | drivers/staging/iio/meter/ade7759.c | 9 | ||||
-rw-r--r-- | drivers/staging/iio/meter/ade7854.c | 8 |
5 files changed, 29 insertions, 12 deletions
diff --git a/drivers/staging/iio/meter/ade7753.c b/drivers/staging/iio/meter/ade7753.c index 8b6bf508e41b..6c9c23fc4aed 100644 --- a/drivers/staging/iio/meter/ade7753.c +++ b/drivers/staging/iio/meter/ade7753.c @@ -504,6 +504,11 @@ static const struct attribute_group ade7753_attribute_group = { .attrs = ade7753_attributes, }; +static const struct iio_info ade7753_info = { + .attrs = &ade7753_attribute_group, + .driver_module = THIS_MODULE, +}; + static int __devinit ade7753_probe(struct spi_device *spi) { int ret, regdone = 0; @@ -537,9 +542,8 @@ static int __devinit ade7753_probe(struct spi_device *spi) st->indio_dev->name = spi->dev.driver->name; st->indio_dev->dev.parent = &spi->dev; - st->indio_dev->attrs = &ade7753_attribute_group; + st->indio_dev->info = &ade7753_info; st->indio_dev->dev_data = (void *)(st); - st->indio_dev->driver_module = THIS_MODULE; st->indio_dev->modes = INDIO_DIRECT_MODE; ret = iio_device_register(st->indio_dev); diff --git a/drivers/staging/iio/meter/ade7754.c b/drivers/staging/iio/meter/ade7754.c index 4179325c8d78..378f2c87086f 100644 --- a/drivers/staging/iio/meter/ade7754.c +++ b/drivers/staging/iio/meter/ade7754.c @@ -527,7 +527,10 @@ static const struct attribute_group ade7754_attribute_group = { .attrs = ade7754_attributes, }; - +static const struct iio_info ade7754_info = { + .attrs = &ade7754_attribute_group, + .driver_module = THIS_MODULE, +}; static int __devinit ade7754_probe(struct spi_device *spi) { @@ -562,9 +565,8 @@ static int __devinit ade7754_probe(struct spi_device *spi) st->indio_dev->name = spi->dev.driver->name; st->indio_dev->dev.parent = &spi->dev; - st->indio_dev->attrs = &ade7754_attribute_group; + st->indio_dev->info = &ade7754_info; st->indio_dev->dev_data = (void *)(st); - st->indio_dev->driver_module = THIS_MODULE; st->indio_dev->modes = INDIO_DIRECT_MODE; ret = iio_device_register(st->indio_dev); diff --git a/drivers/staging/iio/meter/ade7758_core.c b/drivers/staging/iio/meter/ade7758_core.c index d9dfd8321222..299b95434e20 100644 --- a/drivers/staging/iio/meter/ade7758_core.c +++ b/drivers/staging/iio/meter/ade7758_core.c @@ -725,6 +725,11 @@ static struct iio_chan_spec ade7758_channels[] = { IIO_CHAN_SOFT_TIMESTAMP(15), }; +static const struct iio_info ade7758_info = { + .attrs = &ade7758_attribute_group, + .driver_module = THIS_MODULE, +}; + static int __devinit ade7758_probe(struct spi_device *spi) { int i, ret, regdone = 0; @@ -757,8 +762,7 @@ static int __devinit ade7758_probe(struct spi_device *spi) indio_dev->name = spi->dev.driver->name; indio_dev->dev.parent = &spi->dev; - indio_dev->attrs = &ade7758_attribute_group; - indio_dev->driver_module = THIS_MODULE; + indio_dev->info = &ade7758_info; indio_dev->modes = INDIO_DIRECT_MODE; for (i = 0; i < AD7758_NUM_WAVESRC; i++) diff --git a/drivers/staging/iio/meter/ade7759.c b/drivers/staging/iio/meter/ade7759.c index 86fe0ae22df0..730f6d9074a6 100644 --- a/drivers/staging/iio/meter/ade7759.c +++ b/drivers/staging/iio/meter/ade7759.c @@ -450,6 +450,11 @@ static const struct attribute_group ade7759_attribute_group = { .attrs = ade7759_attributes, }; +static const struct iio_info ade7759_info = { + .attrs = &ade7759_attribute_group, + .driver_module = THIS_MODULE, +}; + static int __devinit ade7759_probe(struct spi_device *spi) { int ret; @@ -483,11 +488,9 @@ static int __devinit ade7759_probe(struct spi_device *spi) st->indio_dev->name = spi->dev.driver->name; st->indio_dev->dev.parent = &spi->dev; - st->indio_dev->num_interrupt_lines = 1; - st->indio_dev->attrs = &ade7759_attribute_group; + st->indio_dev->info = &ade7759_info; st->indio_dev->dev_data = (void *)(st); - st->indio_dev->driver_module = THIS_MODULE; st->indio_dev->modes = INDIO_DIRECT_MODE; ret = iio_device_register(st->indio_dev); diff --git a/drivers/staging/iio/meter/ade7854.c b/drivers/staging/iio/meter/ade7854.c index d3f1df71c7f7..44cd3ec546ae 100644 --- a/drivers/staging/iio/meter/ade7854.c +++ b/drivers/staging/iio/meter/ade7854.c @@ -551,6 +551,11 @@ static const struct attribute_group ade7854_attribute_group = { .attrs = ade7854_attributes, }; +static const struct iio_info ade7854_info = { + .attrs = &ade7854_attribute_group, + .driver_module = THIS_MODULE, +}; + int ade7854_probe(struct ade7854_state *st, struct device *dev) { int ret; @@ -575,9 +580,8 @@ int ade7854_probe(struct ade7854_state *st, struct device *dev) } st->indio_dev->dev.parent = dev; - st->indio_dev->attrs = &ade7854_attribute_group; + st->indio_dev->info = &ade7854_info; st->indio_dev->dev_data = (void *)(st); - st->indio_dev->driver_module = THIS_MODULE; st->indio_dev->modes = INDIO_DIRECT_MODE; ret = iio_device_register(st->indio_dev); |