staging: iio: ak8975: make gpio platdata mandatory
Naveen Krishna Ch
naveenkrishna.ch at gmail.com
Sat Mar 5 19:31:41 EST 2011
Hi Kyungmin Park,
On 4 March 2011 14:51, Kyungmin Park <kmpark at infradead.org> wrote:
> 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.
Implementing such macros in machine header files leads to inclusion of
mach/gpio.h or irqs.h
Russel King, seems against to the same...
Any suggestions, please
>
> 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
>>
>
--
Shine bright,
(: Nav :)
More information about the linux-arm-kernel
mailing list