Thread (1 message) 1 message, 1 author, 2012-05-02
DORMANTno replies

[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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help