[alsa-devel] [PATCH v2] mfd: arizona: Add DT binding for irq-gpios property
Signed-off-by: Sebastien Jan sjan@baylibre.com --- Documentation/devicetree/bindings/mfd/arizona.txt | 2 ++ drivers/mfd/arizona-core.c | 5 +++++ 2 files changed, 7 insertions(+)
diff --git a/Documentation/devicetree/bindings/mfd/arizona.txt b/Documentation/devicetree/bindings/mfd/arizona.txt index a8fee60..f9405ad 100644 --- a/Documentation/devicetree/bindings/mfd/arizona.txt +++ b/Documentation/devicetree/bindings/mfd/arizona.txt @@ -46,6 +46,8 @@ Optional properties: - wlf,reset : GPIO specifier for the GPIO controlling /RESET - wlf,ldoena : GPIO specifier for the GPIO controlling LDOENA
+ - irq-gpios : GPIO specifier for the GPIO connected to /IRQ + - wlf,gpio-defaults : A list of GPIO configuration register values. Defines for the appropriate values can found in <dt-bindings/mfd/arizona.txt>. If absent, no configuration of these registers is performed. If any entry has diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c index 44cfdbb..2046617 100644 --- a/drivers/mfd/arizona-core.c +++ b/drivers/mfd/arizona-core.c @@ -814,6 +814,11 @@ static int arizona_of_get_core_pdata(struct arizona *arizona) count++; }
+ arizona->pdata.irq_gpio = of_get_named_gpio(arizona->dev->of_node, + "irq-gpios", 0); + if (arizona->pdata.irq_gpio < 0) + arizona->pdata.irq_gpio = 0; + return 0; }
On Tue, Nov 03, 2015 at 03:10:06PM +0100, Sebastien Jan wrote:
- irq-gpios : GPIO specifier for the GPIO connected to /IRQ
The platform data this is providing is essentially a workaround for the lack of an irq_to_gpio() function and the use of it is a workaround for the lack of level triggered IRQ emulation in genirq... do we really want this in the ABI (especially as a generic thing)?
On Tue, Nov 03, 2015 at 03:04:50PM +0000, Mark Brown wrote:
On Tue, Nov 03, 2015 at 03:10:06PM +0100, Sebastien Jan wrote:
- irq-gpios : GPIO specifier for the GPIO connected to /IRQ
The platform data this is providing is essentially a workaround for the lack of an irq_to_gpio() function and the use of it is a workaround for the lack of level triggered IRQ emulation in genirq... do we really want this in the ABI (especially as a generic thing)?
Personally I would rather not add this to the DT unless we really had to.
Also are you sure this is necessary on your system? Specifically you only need this entry if the CODEC is connected to an IRQ line that only supports edge triggered IRQs.
Thanks, Charles
On 03/11/2015 17:52, Charles Keepax wrote:
On Tue, Nov 03, 2015 at 03:04:50PM +0000, Mark Brown wrote:
On Tue, Nov 03, 2015 at 03:10:06PM +0100, Sebastien Jan wrote:
- irq-gpios : GPIO specifier for the GPIO connected to /IRQ
The platform data this is providing is essentially a workaround for the lack of an irq_to_gpio() function and the use of it is a workaround for the lack of level triggered IRQ emulation in genirq... do we really want this in the ABI (especially as a generic thing)?
Personally I would rather not add this to the DT unless we really had to.
Also are you sure this is necessary on your system? Specifically you only need this entry if the CODEC is connected to an IRQ line that only supports edge triggered IRQs.
Mark, Charles, thanks for pointing me to this information.
I don't have this specific constraint on my system and could finally also have it working using the regular interrupts / interrup-parent properties.
So this new binding is not required for my case. I suppose we can forget about it.
On Thu, 05 Nov 2015, Sebastien Jan wrote:
On 03/11/2015 17:52, Charles Keepax wrote:
On Tue, Nov 03, 2015 at 03:04:50PM +0000, Mark Brown wrote:
On Tue, Nov 03, 2015 at 03:10:06PM +0100, Sebastien Jan wrote:
- irq-gpios : GPIO specifier for the GPIO connected to /IRQ
The platform data this is providing is essentially a workaround for the lack of an irq_to_gpio() function and the use of it is a workaround for the lack of level triggered IRQ emulation in genirq... do we really want this in the ABI (especially as a generic thing)?
Personally I would rather not add this to the DT unless we really had to.
Also are you sure this is necessary on your system? Specifically you only need this entry if the CODEC is connected to an IRQ line that only supports edge triggered IRQs.
Mark, Charles, thanks for pointing me to this information.
I don't have this specific constraint on my system and could finally also have it working using the regular interrupts / interrup-parent properties.
So this new binding is not required for my case. I suppose we can forget about it.
My favourite kind of property. ;)
participants (4)
-
Charles Keepax
-
Lee Jones
-
Mark Brown
-
Sebastien Jan