On Wed, May 30 2018, Sergio Paracuellos wrote: > 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 Reviewed-by: NeilBrown Thanks, NeilBrown > --- > 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 = ; > 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