[PATCH] gpiolib: Add of_get_gpio_chip_by_phandle() helper
From: Stephen Warren <hidden>
Date: 2012-05-02 17:04:52
On 05/02/2012 10:51 AM, viresh kumar wrote:
On May 2, 2012 8:57 PM, "Stephen Warren" <swarren@wwwdotorg.org <mailto:swarren@wwwdotorg.org>> wrote:quoted
On 05/02/2012 03:04 AM, Viresh Kumar wrote:quoted
There is a requirement in pinctrl subsystem, to bind pinctrl driver with gpio_chip.Could you please explain more? I don't believe that's true. It's certainly possible that the same driver can be both a pinctrl driver and a GPIO driver if this is how the HW works. However, in this case, the device tree would contain a single node to represent that HW module, and the driver for that node would then register itself as both a GPIO chip and a pinctrl driver. In other words, device tree content shouldn't be influenced by this (except of course that the single node would contain both GPIO provider and pinctrl provider properties) When GPIO and pinmux HW are separate but interact, the GPIO/pinctrl driver interaction is for the GPIO driver to call into pinctrl if required. However, this is through the generic functions such as pinctrl_request_gpio() which take global GPIO numbers, and hence have no need for a specific GPIO driver handle.Whatever you explained is correct, but the pinctrl driver is supposed to add gpio ranges for which it would need gpio base number. My gpio driver allocates this number dynamically. So i need someway of accessing gpio chip from pinctrl driver. How should i do it?
Ah yes, that's a good point. In Tegra, the GPIO and pinctrl driver currently hard-code base==0, which probably isn't good. So yes, this mechanism is needed after all. Sorry for the confusion.