diff options
Diffstat (limited to 'drivers/staging/iio/dds/ad9832.c')
-rw-r--r-- | drivers/staging/iio/dds/ad9832.c | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/drivers/staging/iio/dds/ad9832.c b/drivers/staging/iio/dds/ad9832.c index 3e8491f60cfe..e8fe1426a329 100644 --- a/drivers/staging/iio/dds/ad9832.c +++ b/drivers/staging/iio/dds/ad9832.c @@ -153,17 +153,6 @@ error_ret: return ret ? ret : len; } -static ssize_t ad9832_show_name(struct device *dev, - struct device_attribute *attr, - char *buf) -{ - struct iio_dev *dev_info = dev_get_drvdata(dev); - struct ad9832_state *st = iio_dev_get_devdata(dev_info); - - return sprintf(buf, "%s\n", spi_get_device_id(st->spi)->name); -} -static IIO_DEVICE_ATTR(name, S_IRUGO, ad9832_show_name, NULL, 0); - /** * see dds.h for further information */ @@ -199,7 +188,6 @@ static struct attribute *ad9832_attributes[] = { &iio_dev_attr_dds0_freqsymbol.dev_attr.attr, &iio_dev_attr_dds0_phasesymbol.dev_attr.attr, &iio_dev_attr_dds0_out_enable.dev_attr.attr, - &iio_dev_attr_name.dev_attr.attr, NULL, }; @@ -207,6 +195,11 @@ static const struct attribute_group ad9832_attribute_group = { .attrs = ad9832_attributes, }; +static const struct iio_info ad9832_info = { + .attrs = &ad9832_attribute_group, + .driver_module = THIS_MODULE, +}; + static int __devinit ad9832_probe(struct spi_device *spi) { struct ad9832_platform_data *pdata = spi->dev.platform_data; @@ -236,16 +229,16 @@ static int __devinit ad9832_probe(struct spi_device *spi) spi_set_drvdata(spi, st); st->spi = spi; - st->indio_dev = iio_allocate_device(); + st->indio_dev = iio_allocate_device(0); if (st->indio_dev == NULL) { ret = -ENOMEM; goto error_disable_reg; } st->indio_dev->dev.parent = &spi->dev; - st->indio_dev->attrs = &ad9832_attribute_group; + st->indio_dev->name = spi_get_device_id(spi)->name; + st->indio_dev->info = &ad9832_info; st->indio_dev->dev_data = (void *) st; - st->indio_dev->driver_module = THIS_MODULE; st->indio_dev->modes = INDIO_DIRECT_MODE; /* Setup default messages */ |