Most gpio chips have two cells for interrupts and this should be also.
Set this property in the device tree accordly fixing this up. In order
to make this working properly the xlate function for the irq_domain must
be updated to use the  'irq_domain_xlate_twocell' one in the driver.
One more minimal change is needed two refer gpio's interrupt-parent from
other nodes which is to add new 'gpio' label in the device tree.

Signed-off-by: Sergio Paracuellos <sergio.paracuel...@gmail.com>
---
Changes in v2:
    - commit message has been changed with more proper one
    - new label to refer gpio from other nodes added to the DT
    - use 'irq_domain_xlate_twocell'

 drivers/staging/mt7621-dts/mt7621.dtsi    | 4 ++--
 drivers/staging/mt7621-gpio/gpio-mt7621.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/mt7621-dts/mt7621.dtsi 
b/drivers/staging/mt7621-dts/mt7621.dtsi
index d7e4981..eb3966b 100644
--- a/drivers/staging/mt7621-dts/mt7621.dtsi
+++ b/drivers/staging/mt7621-dts/mt7621.dtsi
@@ -60,7 +60,7 @@
                        reg = <0x100 0x100>;
                };
 
-               gpio@600 {
+               gpio: gpio@600 {
                        #address-cells = <1>;
                        #size-cells = <0>;
 
@@ -70,7 +70,7 @@
                        interrupt-parent = <&gic>;
                        interrupts = <GIC_SHARED 12 IRQ_TYPE_LEVEL_HIGH>;
                        interrupt-controller;
-                       #interrupt-cells = <1>;
+                       #interrupt-cells = <2>;
 
                        gpio0: bank@0 {
                                reg = <0>;
diff --git a/drivers/staging/mt7621-gpio/gpio-mt7621.c 
b/drivers/staging/mt7621-gpio/gpio-mt7621.c
index c96ae67..79b8c58 100644
--- a/drivers/staging/mt7621-gpio/gpio-mt7621.c
+++ b/drivers/staging/mt7621-gpio/gpio-mt7621.c
@@ -317,7 +317,7 @@ mediatek_gpio_gpio_map(struct irq_domain *d, unsigned int 
irq,
 }
 
 static const struct irq_domain_ops irq_domain_ops = {
-       .xlate = irq_domain_xlate_onecell,
+       .xlate = irq_domain_xlate_twocell,
        .map = mediatek_gpio_gpio_map,
 };
 
-- 
2.7.4

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to