>From: Dmitry Torokhov [mailto:[email protected]]
>
>Hi Mike,
>
>On Tue, Jan 12, 2010 at 04:04:57PM -0500, Mike Frysinger wrote:
>> +
>> +            err = gpiochip_add(&ts->gc);
>> +            if (err)
>> +                    dev_err(&bus->dev, "failed to register gpio
%d\n",
>> +                            ts->gc.base);
>> +    }
>
>So if it fails here...
>
>> +    struct ad7879_platform_data *pdata = bus->dev.platform_data;
>> +    if (pdata->gpio_export) {
>> +            if (gpiochip_remove(&ts->gc))
>> +                    dev_err(&bus->dev, "failed to remove gpio %d\n",
>> +                            ts->gc.base);
>
>... how valid is it to remove it here?

Right - I should use a flag to sense whether the gpiochip was added or
not.

>
>Also, could you stub out
>ad7879_gptiochip_export/ad7879_gptiochip_unexport
>in case of !CONFIG_GPIOLIB?

Can you explain - where do you see those?


>
>> +    }
>> +#endif
>> +
>>      ad7879_disable(ts);
>>      sysfs_remove_group(&ts->bus->dev.kobj, &ad7879_attr_group);
>>      free_irq(ts->bus->irq, ts);
>> diff --git a/include/linux/spi/ad7879.h b/include/linux/spi/ad7879.h
>> index 4231104..7231eab 100644
>> --- a/include/linux/spi/ad7879.h
>> +++ b/include/linux/spi/ad7879.h
>> @@ -28,8 +28,12 @@ struct ad7879_platform_data {
>>       * 1 = 4, 2 = 8, 3 = 16 (median > averaging)
>>       */
>>      u8      median;
>> -    /* 1 = AUX/VBAT/GPIO set to GPIO Output */
>> -    u8      gpio_output;
>> -    /* Initial GPIO pin state (valid if gpio_output = 1) */
>> -    u8      gpio_default;
>> +    /* 1 = AUX/VBAT/GPIO export GPIO to gpiolib
>> +     * requires CONFIG_GPIOLIB
>> +     */
>> +    u8      gpio_export;
>
>And make this a bool while you are at it.
>
>Thanks!
>
>--
>Dmitry

-Michael
_______________________________________________
Uclinux-dist-devel mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/uclinux-dist-devel

Reply via email to