summaryrefslogtreecommitdiffstats
path: root/drivers/staging/iio/meter
diff options
context:
space:
mode:
authorJonathan Cameron2011-05-18 15:42:37 +0200
committerGreg Kroah-Hartman2011-05-20 01:15:05 +0200
commit6fe8135fccd66aedcc55ded70824342587fd2499 (patch)
tree3afc7acfd0edc052ba93241761e935af9a3b6ebc /drivers/staging/iio/meter
parentstaging:iio:meter:ade7758: Use private data space from iio_allocate_device (diff)
downloadkernel-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.c8
-rw-r--r--drivers/staging/iio/meter/ade7754.c8
-rw-r--r--drivers/staging/iio/meter/ade7758_core.c8
-rw-r--r--drivers/staging/iio/meter/ade7759.c9
-rw-r--r--drivers/staging/iio/meter/ade7854.c8
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);