Message ID | 1564335273-22931-5-git-send-email-zhouyanjie@zoho.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | [1/4,v4] irqchip: Ingenic: Change interrupt handling form cascade to chained_irq. | expand |
Le dim. 28 juil. 2019 à 13:34, Zhou Yanjie <zhouyanjie@zoho.com> a écrit : > Add support for probing the irq-ingenic driver on the JZ4760/JZ4760B > and the X1000/X1000E and the X1500 Socs from Ingenic. > > Signed-off-by: Zhou Yanjie <zhouyanjie@zoho.com> > --- > drivers/irqchip/irq-ingenic.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/irqchip/irq-ingenic.c > b/drivers/irqchip/irq-ingenic.c > index 8430f5a..b72430c 100644 > --- a/drivers/irqchip/irq-ingenic.c > +++ b/drivers/irqchip/irq-ingenic.c > @@ -173,6 +173,11 @@ static int __init intc_2chip_of_init(struct > device_node *node, > { > return ingenic_intc_of_init(node, 2); > } > +IRQCHIP_DECLARE(jz4760_intc, "ingenic,jz4760-intc", > intc_2chip_of_init); > +IRQCHIP_DECLARE(jz4760b_intc, "ingenic,jz4760b-intc", > intc_2chip_of_init); > IRQCHIP_DECLARE(jz4770_intc, "ingenic,jz4770-intc", > intc_2chip_of_init); > IRQCHIP_DECLARE(jz4775_intc, "ingenic,jz4775-intc", > intc_2chip_of_init); > IRQCHIP_DECLARE(jz4780_intc, "ingenic,jz4780-intc", > intc_2chip_of_init); > +IRQCHIP_DECLARE(x1000_intc, "ingenic,x1000-intc", > intc_2chip_of_init); > +IRQCHIP_DECLARE(x1000e_intc, "ingenic,x1000e-intc", > intc_2chip_of_init); > +IRQCHIP_DECLARE(x1500_intc, "ingenic,x1500-intc", > intc_2chip_of_init); All these compatible strings point to the exact same behaviour. It was already a mistake to have the three "ingenic,jz47[70,75,80]-intc" here; there should have been only one, e.g. "ingenic,jz4770-intc" and the other two SoCs using it as a fallback compatible. I think you don't need to add these, and in your devicetree just use "ingenic,jz4780-intc" as a fallback compatible. Cheers, -Paul
Hi Paul, It seems very strange to appear another soc model in one soc's devicetree, and before submitting this patch I referred to some other irq drivers. Similar usage was found in irq-sunxi-nmi.c and irq-omap-intc.c, and the original irq-ingenic.c was declare jz4770, jz4775, jz4780 in the same way. So I followed the same method to add the declare of jz4760/x1000/x1500, this may be a little better. On 2019年07月30日 01:25, Paul Cercueil wrote: > > > Le dim. 28 juil. 2019 à 13:34, Zhou Yanjie <zhouyanjie@zoho.com> a > écrit : >> Add support for probing the irq-ingenic driver on the JZ4760/JZ4760B >> and the X1000/X1000E and the X1500 Socs from Ingenic. >> >> Signed-off-by: Zhou Yanjie <zhouyanjie@zoho.com> >> --- >> drivers/irqchip/irq-ingenic.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/drivers/irqchip/irq-ingenic.c >> b/drivers/irqchip/irq-ingenic.c >> index 8430f5a..b72430c 100644 >> --- a/drivers/irqchip/irq-ingenic.c >> +++ b/drivers/irqchip/irq-ingenic.c >> @@ -173,6 +173,11 @@ static int __init intc_2chip_of_init(struct >> device_node *node, >> { >> return ingenic_intc_of_init(node, 2); >> } >> +IRQCHIP_DECLARE(jz4760_intc, "ingenic,jz4760-intc", >> intc_2chip_of_init); >> +IRQCHIP_DECLARE(jz4760b_intc, "ingenic,jz4760b-intc", >> intc_2chip_of_init); >> IRQCHIP_DECLARE(jz4770_intc, "ingenic,jz4770-intc", >> intc_2chip_of_init); >> IRQCHIP_DECLARE(jz4775_intc, "ingenic,jz4775-intc", >> intc_2chip_of_init); >> IRQCHIP_DECLARE(jz4780_intc, "ingenic,jz4780-intc", >> intc_2chip_of_init); >> +IRQCHIP_DECLARE(x1000_intc, "ingenic,x1000-intc", intc_2chip_of_init); >> +IRQCHIP_DECLARE(x1000e_intc, "ingenic,x1000e-intc", >> intc_2chip_of_init); >> +IRQCHIP_DECLARE(x1500_intc, "ingenic,x1500-intc", intc_2chip_of_init); > > All these compatible strings point to the exact same behaviour. It was > already a mistake to have the three "ingenic,jz47[70,75,80]-intc" here; > there should have been only one, e.g. "ingenic,jz4770-intc" and the other > two SoCs using it as a fallback compatible. > > I think you don't need to add these, and in your devicetree just use > "ingenic,jz4780-intc" as a fallback compatible. > > Cheers, > -Paul > >
diff --git a/drivers/irqchip/irq-ingenic.c b/drivers/irqchip/irq-ingenic.c index 8430f5a..b72430c 100644 --- a/drivers/irqchip/irq-ingenic.c +++ b/drivers/irqchip/irq-ingenic.c @@ -173,6 +173,11 @@ static int __init intc_2chip_of_init(struct device_node *node, { return ingenic_intc_of_init(node, 2); } +IRQCHIP_DECLARE(jz4760_intc, "ingenic,jz4760-intc", intc_2chip_of_init); +IRQCHIP_DECLARE(jz4760b_intc, "ingenic,jz4760b-intc", intc_2chip_of_init); IRQCHIP_DECLARE(jz4770_intc, "ingenic,jz4770-intc", intc_2chip_of_init); IRQCHIP_DECLARE(jz4775_intc, "ingenic,jz4775-intc", intc_2chip_of_init); IRQCHIP_DECLARE(jz4780_intc, "ingenic,jz4780-intc", intc_2chip_of_init); +IRQCHIP_DECLARE(x1000_intc, "ingenic,x1000-intc", intc_2chip_of_init); +IRQCHIP_DECLARE(x1000e_intc, "ingenic,x1000e-intc", intc_2chip_of_init); +IRQCHIP_DECLARE(x1500_intc, "ingenic,x1500-intc", intc_2chip_of_init);
Add support for probing the irq-ingenic driver on the JZ4760/JZ4760B and the X1000/X1000E and the X1500 Socs from Ingenic. Signed-off-by: Zhou Yanjie <zhouyanjie@zoho.com> --- drivers/irqchip/irq-ingenic.c | 5 +++++ 1 file changed, 5 insertions(+)