diff options
author | Tony SIM <chinyeow.sim.xt@renesas.com> | 2011-02-15 19:10:27 +0900 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-02-18 13:21:57 -0800 |
commit | f2f1794835f1d8900d2b15d114c54e70c849809b (patch) | |
tree | 294c834c91571774ca7a819314b77d2e89effa9c /drivers/staging | |
parent | ea801950cf54d5d3e219bd51e298193d56cd53e7 (diff) |
staging: iio: ak8975: add platform data.
As some of the platform not support irq_to_gpio, we pass gpio port
by platform data.
Signed-off-by: Tony SIM <chinyeow.sim.xt@renesas.com>
Signed-off-by: Andrew Chew <achew@nvidia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging')
-rw-r--r-- | drivers/staging/iio/magnetometer/ak8975.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/staging/iio/magnetometer/ak8975.c b/drivers/staging/iio/magnetometer/ak8975.c index 420f206cf51..80c0f413707 100644 --- a/drivers/staging/iio/magnetometer/ak8975.c +++ b/drivers/staging/iio/magnetometer/ak8975.c @@ -29,6 +29,7 @@ #include <linux/delay.h> #include <linux/gpio.h> +#include <linux/input/ak8975.h> #include "../iio.h" #include "magnet.h" @@ -435,6 +436,7 @@ static int ak8975_probe(struct i2c_client *client, const struct i2c_device_id *id) { struct ak8975_data *data; + struct ak8975_platform_data *pdata; int err; /* Allocate our device context. */ @@ -452,7 +454,11 @@ static int ak8975_probe(struct i2c_client *client, /* Grab and set up the supplied GPIO. */ data->eoc_irq = client->irq; - data->eoc_gpio = irq_to_gpio(client->irq); + pdata = client->dev.platform_data; + if (pdata) + data->eoc_gpio = pdata->gpio; + else + data->eoc_gpio = irq_to_gpio(client->irq); if (!data->eoc_gpio) { dev_err(&client->dev, "failed, no valid GPIO\n"); |