Messages in this thread | | | Date | Wed, 19 Feb 2020 11:35:04 +0000 | From | Marc Zyngier <> | Subject | Re: [PATCH] irqchip: vic: Support cascaded VIC in device tree |
| |
Hi Linus,
Please use my kernel.org email address, I just rescued this email from the ML...
On 2020-02-13 12:47, Linus Walleij wrote: > When transitioning some elder platforms to device tree it > becomes necessary to cascade VIC IRQ chips off another > interrupt controller. > > Tested with the cascaded VIC on the Integrator/AP attached > logic module IM-PD1. > > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> > --- > drivers/irqchip/irq-vic.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/irqchip/irq-vic.c b/drivers/irqchip/irq-vic.c > index f3f20a3cff50..caff21b4bac6 100644 > --- a/drivers/irqchip/irq-vic.c > +++ b/drivers/irqchip/irq-vic.c > @@ -509,9 +509,7 @@ static int __init vic_of_init(struct device_node > *node, > void __iomem *regs; > u32 interrupt_mask = ~0; > u32 wakeup_mask = ~0; > - > - if (WARN(parent, "non-root VICs are not supported")) > - return -EINVAL; > + int parent_irq = 0;
nit: Do you need this to be initialized to zero?
> > regs = of_iomap(node, 0); > if (WARN_ON(!regs)) > @@ -519,11 +517,14 @@ static int __init vic_of_init(struct device_node > *node, > > of_property_read_u32(node, "valid-mask", &interrupt_mask); > of_property_read_u32(node, "valid-wakeup-mask", &wakeup_mask); > + parent_irq = of_irq_get(node, 0); > + if (parent_irq < 0) > + parent_irq = 0; > > /* > * Passing 0 as first IRQ makes the simple domain allocate > descriptors > */ > - __vic_init(regs, 0, 0, interrupt_mask, wakeup_mask, node); > + __vic_init(regs, parent_irq, 0, interrupt_mask, wakeup_mask, node); > > return 0; > }
Do you want this as a fix?
Thanks,
M. -- Jazz is not dead. It just smells funny...
| |