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>
This commit is contained in:
Jacek Anaszewski 2013-05-07 11:41:00 +01:00 committed by Jonathan Cameron
parent e64e7d5c8c
commit f4b7f751c6
2 changed files with 27 additions and 3 deletions

View File

@ -0,0 +1,18 @@
* AsahiKASEI AK8975 magnetometer sensor
Required properties:
- compatible : should be "asahi-kasei,ak8975"
- reg : the I2C address of the magnetometer
Optional properties:
- gpios : should be device tree identifier of the magnetometer DRDY pin
Example:
ak8975@0c {
compatible = "asahi-kasei,ak8975";
reg = <0x0c>;
gpios = <&gpj0 7 0>;
};

View File

@ -29,6 +29,7 @@
#include <linux/delay.h>
#include <linux/gpio.h>
#include <linux/of_gpio.h>
#include <linux/iio/iio.h>
#include <linux/iio/sysfs.h>
@ -384,10 +385,15 @@ static int ak8975_probe(struct i2c_client *client,
int err;
/* Grab and set up the supplied GPIO. */
if (client->dev.platform_data == NULL)
eoc_gpio = -1;
else
if (client->dev.platform_data)
eoc_gpio = *(int *)(client->dev.platform_data);
else if (client->dev.of_node)
eoc_gpio = of_get_gpio(client->dev.of_node, 0);
else
eoc_gpio = -1;
if (eoc_gpio == -EPROBE_DEFER)
return -EPROBE_DEFER;
/* We may not have a GPIO based IRQ to scan, that is fine, we will
poll if so */