staging: iio: ak8975: make gpio platdata mandatory

Naveen Krishna Ch naveenkrishna.ch at gmail.com
Fri Mar 4 00:34:14 EST 2011


Issue:
For some architectures CONFIG_GENERIC_GPIO is defined,
leaving irq_to_gpio undefined.  Causing build break.

Solution:
1. Some architechtures define irq_to_gpio in machine specific code.
2. Make GPIO in platdata mandatory.

Signed-off-by: Naveen Krishna Ch <ch.naveen at samsung.com>
---

 drivers/staging/iio/magnetometer/ak8975.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/iio/magnetometer/ak8975.c
b/drivers/staging/iio/magnetometer/ak8975.c
index 80c0f41..8456d1f 100644
--- a/drivers/staging/iio/magnetometer/ak8975.c
+++ b/drivers/staging/iio/magnetometer/ak8975.c
@@ -98,7 +98,6 @@ struct ak8975_data {
        unsigned long           mode;
        u8                      reg_cache[AK8975_MAX_REGS];
        int                     eoc_gpio;
-       int                     eoc_irq;
 };

 /*
@@ -453,12 +452,13 @@ static int ak8975_probe(struct i2c_client *client,
        mutex_init(&data->lock);

        /* Grab and set up the supplied GPIO. */
-       data->eoc_irq = client->irq;
        pdata = client->dev.platform_data;
        if (pdata)
                data->eoc_gpio = pdata->gpio;
-       else
-               data->eoc_gpio = irq_to_gpio(client->irq);
+       else {
+       else {
+               dev_err(&client->dev, "failed, no platform GPIO specified\n");
+               goto exit;
+       }

        if (!data->eoc_gpio) {
                dev_err(&client->dev, "failed, no valid GPIO\n");
--
1.7.0.4

--
Shine bright,
(: Nav :)



More information about the linux-arm-kernel mailing list