aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/iio/resolver
diff options
context:
space:
mode:
authorJonathan Cameron <jic23@cam.ac.uk>2011-10-05 15:28:02 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-10-05 13:47:47 -0700
commit10e4a52b6e471cea2e87e71f8708a8c8c6b75266 (patch)
treeb3681b90adb54af800389d065ffd4d725f8da7fa /drivers/staging/iio/resolver
parentstaging:iio:resolver:ad2s120x chan spec conversion (diff)
downloadlinux-dev-10e4a52b6e471cea2e87e71f8708a8c8c6b75266.tar.xz
linux-dev-10e4a52b6e471cea2e87e71f8708a8c8c6b75266.zip
staging:iio:resolver rename ad2s120x ->ad2s1200
There are far too many possible part numbers that are not covered in here to have such a generic name. So move to naming after one of the supported parts. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/iio/resolver')
-rw-r--r--drivers/staging/iio/resolver/Kconfig4
-rw-r--r--drivers/staging/iio/resolver/Makefile2
-rw-r--r--drivers/staging/iio/resolver/ad2s1200.c (renamed from drivers/staging/iio/resolver/ad2s120x.c)59
3 files changed, 37 insertions, 28 deletions
diff --git a/drivers/staging/iio/resolver/Kconfig b/drivers/staging/iio/resolver/Kconfig
index 07c309bba576..90b3bbcd875b 100644
--- a/drivers/staging/iio/resolver/Kconfig
+++ b/drivers/staging/iio/resolver/Kconfig
@@ -10,8 +10,8 @@ config AD2S90
Say yes here to build support for Analog Devices spi resolver
to digital converters, ad2s90, provides direct access via sysfs.
-config AD2S120X
- tristate "Analog Devices ad2s120x driver"
+config AD2S1200
+ tristate "Analog Devices ad2s1200/ad2s1205 driver"
depends on SPI
help
Say yes here to build support for Analog Devices spi resolver
diff --git a/drivers/staging/iio/resolver/Makefile b/drivers/staging/iio/resolver/Makefile
index 0b84a89e6cac..14375e444ebf 100644
--- a/drivers/staging/iio/resolver/Makefile
+++ b/drivers/staging/iio/resolver/Makefile
@@ -3,5 +3,5 @@
#
obj-$(CONFIG_AD2S90) += ad2s90.o
-obj-$(CONFIG_AD2S120X) += ad2s120x.o
+obj-$(CONFIG_AD2S1200) += ad2s1200.o
obj-$(CONFIG_AD2S1210) += ad2s1210.o
diff --git a/drivers/staging/iio/resolver/ad2s120x.c b/drivers/staging/iio/resolver/ad2s1200.c
index 7dadcd0e32b3..26268bfccffe 100644
--- a/drivers/staging/iio/resolver/ad2s120x.c
+++ b/drivers/staging/iio/resolver/ad2s1200.c
@@ -1,5 +1,6 @@
/*
- * ad2s120x.c simple support for the ADI Resolver to Digital Converters: AD2S1200/1205
+ * ad2s1200.c simple support for the ADI Resolver to Digital Converters:
+ * AD2S1200/1205
*
* Copyright (c) 2010-2010 Analog Devices Inc.
*
@@ -21,17 +22,17 @@
#include "../iio.h"
#include "../sysfs.h"
-#define DRV_NAME "ad2s120x"
+#define DRV_NAME "ad2s1200"
/* input pin sample and rdvel is controlled by driver */
-#define AD2S120X_PN 2
+#define AD2S1200_PN 2
/* input clock on serial interface */
-#define AD2S120X_HZ 8192000
+#define AD2S1200_HZ 8192000
/* clock period in nano second */
-#define AD2S120X_TSCLK (1000000000/AD2S120X_HZ)
+#define AD2S1200_TSCLK (1000000000/AD2S1200_HZ)
-struct ad2s120x_state {
+struct ad2s1200_state {
struct mutex lock;
struct spi_device *sdev;
int sample;
@@ -47,11 +48,11 @@ static int ad2s1200_read_raw(struct iio_dev *indio_dev,
{
int ret = 0;
s16 vel;
- struct ad2s120x_state *st = iio_priv(indio_dev);
+ struct ad2s1200_state *st = iio_priv(indio_dev);
mutex_lock(&st->lock);
gpio_set_value(st->sample, 0);
- /* delay (6 * AD2S120X_TSCLK + 20) nano seconds */
+ /* delay (6 * AD2S1200_TSCLK + 20) nano seconds */
udelay(1);
gpio_set_value(st->sample, 1);
gpio_set_value(st->rdvel, !!(chan->type == IIO_ANGL));
@@ -73,7 +74,7 @@ static int ad2s1200_read_raw(struct iio_dev *indio_dev,
mutex_unlock(&st->lock);
return -EINVAL;
}
- /* delay (2 * AD2S120X_TSCLK + 20) ns for sample pulse */
+ /* delay (2 * AD2S1200_TSCLK + 20) ns for sample pulse */
udelay(1);
mutex_unlock(&st->lock);
return IIO_VAL_INT;
@@ -91,19 +92,19 @@ static const struct iio_chan_spec ad2s1200_channels[] = {
}
};
-static const struct iio_info ad2s120x_info = {
+static const struct iio_info ad2s1200_info = {
.read_raw = &ad2s1200_read_raw,
.driver_module = THIS_MODULE,
};
-static int __devinit ad2s120x_probe(struct spi_device *spi)
+static int __devinit ad2s1200_probe(struct spi_device *spi)
{
- struct ad2s120x_state *st;
+ struct ad2s1200_state *st;
struct iio_dev *indio_dev;
int pn, ret = 0;
unsigned short *pins = spi->dev.platform_data;
- for (pn = 0; pn < AD2S120X_PN; pn++)
+ for (pn = 0; pn < AD2S1200_PN; pn++)
if (gpio_request_one(pins[pn], GPIOF_DIR_OUT, DRV_NAME)) {
pr_err("%s: request gpio pin %d failed\n",
DRV_NAME, pins[pn]);
@@ -122,16 +123,17 @@ static int __devinit ad2s120x_probe(struct spi_device *spi)
st->rdvel = pins[1];
indio_dev->dev.parent = &spi->dev;
- indio_dev->info = &ad2s120x_info;
+ indio_dev->info = &ad2s1200_info;
indio_dev->modes = INDIO_DIRECT_MODE;
indio_dev->channels = ad2s1200_channels;
indio_dev->num_channels = ARRAY_SIZE(ad2s1200_channels);
+ indio_dev->name = spi_get_device_id(spi)->name;
ret = iio_device_register(indio_dev);
if (ret)
goto error_free_dev;
- spi->max_speed_hz = AD2S120X_HZ;
+ spi->max_speed_hz = AD2S1200_HZ;
spi->mode = SPI_MODE_3;
spi_setup(spi);
@@ -145,33 +147,40 @@ error_ret:
return ret;
}
-static int __devexit ad2s120x_remove(struct spi_device *spi)
+static int __devexit ad2s1200_remove(struct spi_device *spi)
{
iio_device_unregister(spi_get_drvdata(spi));
return 0;
}
-static struct spi_driver ad2s120x_driver = {
+static const struct spi_device_id ad2s1200_id[] = {
+ { "ad2s1200" },
+ { "ad2s1205" },
+ {}
+};
+
+static struct spi_driver ad2s1200_driver = {
.driver = {
.name = DRV_NAME,
.owner = THIS_MODULE,
},
- .probe = ad2s120x_probe,
- .remove = __devexit_p(ad2s120x_remove),
+ .probe = ad2s1200_probe,
+ .remove = __devexit_p(ad2s1200_remove),
+ .id_table = ad2s1200_id,
};
-static __init int ad2s120x_spi_init(void)
+static __init int ad2s1200_spi_init(void)
{
- return spi_register_driver(&ad2s120x_driver);
+ return spi_register_driver(&ad2s1200_driver);
}
-module_init(ad2s120x_spi_init);
+module_init(ad2s1200_spi_init);
-static __exit void ad2s120x_spi_exit(void)
+static __exit void ad2s1200_spi_exit(void)
{
- spi_unregister_driver(&ad2s120x_driver);
+ spi_unregister_driver(&ad2s1200_driver);
}
-module_exit(ad2s120x_spi_exit);
+module_exit(ad2s1200_spi_exit);
MODULE_AUTHOR("Graff Yang <graff.yang@gmail.com>");
MODULE_DESCRIPTION("Analog Devices AD2S1200/1205 Resolver to Digital SPI driver");