aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iio
diff options
context:
space:
mode:
authorJacek Anaszewski <j.anaszewski@samsung.com>2013-05-07 06:41:00 -0400
committerJonathan Cameron <jic23@kernel.org>2013-05-22 17:16:48 -0400
commitf4b7f751c6fd2bd7e6d3a83385ee292c39995bdb (patch)
tree17a916b8e7917ca52ac1144443184e87637914b2 /drivers/iio
parente64e7d5c8c86ead27ed51a95687ba8327a9c4d2a (diff)
iio:ak8975 Add support for gpios DT property
Add support for parsing 'gpios' property when initializing from oftree. This patch adds also the binding documentation file. Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio')
-rw-r--r--drivers/iio/magnetometer/ak8975.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/ak8975.c
index af6c320a534e..d75cc23e8ae7 100644
--- a/drivers/iio/magnetometer/ak8975.c
+++ b/drivers/iio/magnetometer/ak8975.c
@@ -29,6 +29,7 @@
29#include <linux/delay.h> 29#include <linux/delay.h>
30 30
31#include <linux/gpio.h> 31#include <linux/gpio.h>
32#include <linux/of_gpio.h>
32 33
33#include <linux/iio/iio.h> 34#include <linux/iio/iio.h>
34#include <linux/iio/sysfs.h> 35#include <linux/iio/sysfs.h>
@@ -384,10 +385,15 @@ static int ak8975_probe(struct i2c_client *client,
384 int err; 385 int err;
385 386
386 /* Grab and set up the supplied GPIO. */ 387 /* Grab and set up the supplied GPIO. */
387 if (client->dev.platform_data == NULL) 388 if (client->dev.platform_data)
388 eoc_gpio = -1;
389 else
390 eoc_gpio = *(int *)(client->dev.platform_data); 389 eoc_gpio = *(int *)(client->dev.platform_data);
390 else if (client->dev.of_node)
391 eoc_gpio = of_get_gpio(client->dev.of_node, 0);
392 else
393 eoc_gpio = -1;
394
395 if (eoc_gpio == -EPROBE_DEFER)
396 return -EPROBE_DEFER;
391 397
392 /* We may not have a GPIO based IRQ to scan, that is fine, we will 398 /* We may not have a GPIO based IRQ to scan, that is fine, we will
393 poll if so */ 399 poll if so */