Re: [RFC PATCH] gpio: support for GPIO forwarding
From: David Cohen <hidden>
Date: 2015-02-25 18:23:26
Also in:
linux-acpi, lkml
On Wed, Feb 25, 2015 at 10:34:45AM +0900, Alexandre Courbot wrote:
On Wed, Feb 25, 2015 at 5:34 AM, David Cohen [off-list ref] wrote:quoted
Hi,quoted
If we decide to go ahead with the solution proposed by this patch for practical reasons (which are good reasons indeed), I still have one problem with its current form. As the discussion highlighted, this is an ACPI problem, so I'd very much like it to be confined to the ACPI GPIO code, to be enabled only when ACPI is, and to use function names that start with acpi_gpio. The current implementation leverages platform lookup, making said lookup less efficient in the process and bringing confusion about its purpose. Although the two processes are indeed similar, they are separate things: one is a legitimate way to map GPIOs, the other is a fixup for broken firmware. I suppose we all agree this is a hackish fix, so let's confine it as much as we can.Are we considering MFD cases hackish as well? i.e. if we have a driver that needs to register children devices and this driver needs to pass GPIO to a child.In that case wouldn't the GPIO be best defined in the child node itself, for the child device's driver to directly probe?
In my case [1] I need 2 "virtual devices" (and more in future) to be part of an USB OTG port control. I call it virtual because they are too simple components connected to no bus and controlled by GPIOs: - a fixed regulator controlled by GPIO - a generic mux controlled by GPIO I'd need to request official ACPI HID for them in order to make them self-sufficient. I can go ahead with this approach, but we have many examples of drivers on upstream that are platform driver expecting to receive gpio via platform data (e.g. extcon-gpio). The ACPI table of some products on market were defined following this concept and won't change anymore. Br, David [1] https://lkml.org/lkml/2015/2/19/411