On Thu, Aug 14, 2008 at 04:45:52PM +0200, Laurent Pinchart wrote: > On Thursday 14 August 2008, Anton Vorontsov wrote: > > On Thu, Aug 14, 2008 at 04:04:18PM +0200, Laurent Pinchart wrote: > > > On Friday 08 August 2008, Anton Vorontsov wrote: > > > > We'll need this function to write platform-specific hooks to deal > > > > with pin's dedicated functions. Quite obviously this will work only > > > > for the platforms with 1-to-1 GPIO to PIN mapping. > > > > > > > > This is stopgap solution till we think out and implement a proper > > > > api (pinlib?). > > > > > > How do you support reverting the GPIO mode to non-dedicated ? > > > > As we always do with the GPIO API: gpio_direction_*() calls. > > So the proper sequence to configure a pin in dedicated mode is to set > the direction first (which will unset the dedicated mode bit) and > then set dedicated mode (which will not touch the direction bit) ?
Not exactly. But you can do this way, if you need to preserve a direction. What I did is a bit different though. qe_gpio_set_dedicated() actually just restores a mode that firmware had set up, including direction (since direction could be a part of dedicated configuration). That is, upon GPIO controller registration, we save all registers, then driver can set up a pin to a GPIO mode via standard API, and then it can _revert_ a pin to a dedicated function via qe_gpio_set_dedicated() call. Dedicated function is specified by the firmware (or board file), we're just restoring it. -- Anton Vorontsov email: [EMAIL PROTECTED] irc://irc.freenode.net/bd2 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev