[PATCH 3/4] of/gpio: Implement GPIOLIB notifier hooks
Anton Vorontsov
avorontsov at ru.mvista.com
Wed Feb 10 06:06:38 EST 2010
On Tue, Feb 09, 2010 at 10:08:00AM -0700, Grant Likely wrote:
> On Fri, Feb 5, 2010 at 1:32 PM, Anton Vorontsov
> <avorontsov at ru.mvista.com> wrote:
> > This patch implements GPIOLIB notifier hooks, and thus makes device-enabled
> > GPIO chips (i.e. the ones that have gpio_chip->dev specified) automatically
> > attached to the OpenFirmware subsystem. Which means that now we can handle
> > I2C and SPI GPIO chips almost* transparently.
[...]
> One concern.
>
> How does an OF-aware GPIO driver override these settings? What is to
> be done when a GPIO chip requires a different xlate hook? Or a
> different number of gpio_cells?
A lot of options...
1. They can hook up onto a notifier chain, ensure that their callback
will be called after OF GPIO subsystem (using notifiers' priority
mechanism), and fixup needed stuff.
2. They can write their own full fledged OF bindings, i.e. they will
need to allocate of_gc struct and save it into np->data.
of_gpiochip_register_simple() won't touch np->data if it's already
used.
If/when needed, we can write some helper function, i.e.
of_gpiochip_register(gpiochip, node, xlate_callback).
3. Or of/gpio.c code will handle this by itself, iff the xlate and
gpio-cells scheme seems generic enough.
4. May be more...
Thanks,
--
Anton Vorontsov
email: cbouatmailru at gmail.com
irc://irc.freenode.net/bd2
More information about the Linuxppc-dev
mailing list