Re: [PATCH 1/4] pinctrl: Broadcom Cygnus pinctrl device tree binding

Ray Jui
2015-01-30T17:01:56Z

On 1/30/2015 6:18 AM, Linus Walleij wrote:
> On Fri, Jan 23, 2015 at 7:49 AM, Ray Jui <rjui@broadcom.com> wrote:
>
>> I dig into the pinctrl framework code a bit more and found that I can
>> use pinctrl_request_gpio from the GPIO driver and implement
>> gpio_request_enable in the pinctrl driver.
>
> Yep :) ain't it nice.
>
>> The only problem I see now is that these APIs seem to expect the use of
>> global GPIO numbers?
>
> No they don't, only if you use the deprecated pinctrl_add_gpio_range().
>
> Instead, when you register your struct gpio_chip, use
> gpiochip_add_pin_range() and this will use relative offsets
> without relying on global GPIO numbers.
>
> This latter call replaces pinctrl_add_gpio_range().
>
>> I hope I'm not missing something here?
>
> You're missing gpiochip_add_pin_range() ;)
>
> Yours,
> Linus Walleij
>
Yeah, I realized this while implementing the driver, :)

I'm now in the final testing/cleaning phase of both Cygnus pinmux and
gpio/pinconf driver. I really appreciate that the pinctrl framework
allows the two to work seamlessly with each other and at the same time
provides the necessary interface to bridge the two, :)

I should be able to send out the patches of the two drivers for review
sometime next week.

Thanks for the help!

Ray