[PATCH 0/2] RFC: gpio: driver-local pin configuration

Stijn Devriendt highguy at gmail.com
Tue Jun 28 07:53:07 EDT 2011


On Mon, Jun 27, 2011 at 2:37 PM, Linus Walleij <linus.walleij at linaro.org> wrote:
> On Mon, Jun 27, 2011 at 2:02 PM, Mark Brown
> <broonie at opensource.wolfsonmicro.com> wrote:
>> On Mon, Jun 27, 2011 at 01:44:43PM +0200, Linus Walleij wrote:
>>
>>> Yes. To make the driver platform neutral, it needs to for example
>>> provide a callback in the platform data like (* set_pin_bias) or so,
>>> and then your platform has to implement this biasing.
>>
>>> In this specific case that kind of stuff would likely be preferable
>>> to have in the platform anyway, but I understand what you mean.
>>
>> How about device tree usage?  I guess there we'd end up doing it by
>> putting the configuration on the GPIO end of things rather than on the
>> GPIO user side?
>
> Sorry I can't quite understand that, please elaborate!
>

I have some code doing this as well (in a very limited fashion):

int of_request_gpio(..., int* remaining_flags)
{
  of_get_gpio_flags(of_dev, i, remaining_flags)
  if (flags & bias_X) {
     gpio_set_bias(gpio, ...)
     flags &= ~bias_X
  }
  // interpret all generic flags here
};

So drivers need not worry about all gpio flags and special things.
They just request the pin; what they receive is a fully configured
pin (with the exception of unknown flags passed out via
remaining_flags).

Regards,
Stijn



More information about the linux-arm-kernel mailing list