staging: iio: ak8975: make gpio platdata mandatory
Kyungmin Park
kmpark at infradead.org
Fri Mar 4 00:51:25 EST 2011
Hi,
On Fri, Mar 4, 2011 at 2:34 PM, Naveen Krishna Ch
<naveenkrishna.ch at gmail.com> wrote:
> Issue:
> For some architectures CONFIG_GENERIC_GPIO is defined,
> leaving irq_to_gpio undefined. Causing build break.
It's better to implement the irq_to_gpio. Since gpio_to_irq is already
implemented. it's just vice versa.
Thank you,
Kyungmin Park
>
> 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 :)
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
More information about the linux-arm-kernel
mailing list