RE: [PATCH] irqchip: xilinx: Add support for multiple instances

From: Mubin Usman Sayyed
Date: Tue Feb 04 2020 - 14:08:40 EST


Hi Michal,

> -----Original Message-----
> From: Michal Simek <michal.simek@xxxxxxxxxx>
> Sent: Friday, January 31, 2020 8:06 PM
> To: Mubin Usman Sayyed <MUBINUSM@xxxxxxxxxx>; tglx@xxxxxxxxxxxxx;
> jason@xxxxxxxxxxxxxx; maz@xxxxxxxxxx; Michal Simek
> <michals@xxxxxxxxxx>; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx; Siva Durga Prasad Paladugu
> <sivadur@xxxxxxxxxx>; Anirudha Sarangi <anirudh@xxxxxxxxxx>
> Subject: Re: [PATCH] irqchip: xilinx: Add support for multiple instances
>
> On 31. 01. 20 15:18, Mubin Usman Sayyed wrote:
> > From: Mubin Sayyed <mubin.usman.sayyed@xxxxxxxxxx>
> >
> > This patch adds support for multiple instances of xilinx interrupt
> > controller. Below configurations are supported by driver,
> >
> > - peripheral->xilinx-intc->xilinx-intc->gic
> > - peripheral->xilinx-intc->xilinx-intc
> >
> > Signed-off-by: Anirudha Sarangi <anirudha.sarangi@xxxxxxxxxx>
> > Signed-off-by: Mubin Sayyed <mubin.usman.sayyed@xxxxxxxxxx>
> > ---
> > drivers/irqchip/irq-xilinx-intc.c | 143
> > +++++++++++++++++++++++---------------
> > 1 file changed, 87 insertions(+), 56 deletions(-)
> >
> > diff --git a/drivers/irqchip/irq-xilinx-intc.c
> > b/drivers/irqchip/irq-xilinx-intc.c
> > index e3043de..43d6e4e 100644
> > --- a/drivers/irqchip/irq-xilinx-intc.c
> > +++ b/drivers/irqchip/irq-xilinx-intc.c
> > @@ -15,10 +15,11 @@
> > #include <linux/irqchip/chained_irq.h> #include <linux/of_address.h>
> > #include <linux/io.h> -#include <linux/jump_label.h> #include
> > <linux/bug.h> #include <linux/of_irq.h>
> >
> > +static struct xintc_irq_chip *primary_intc;
>
> nit: please place it below xintc_irq_chip.
[Mubin]: I will fix it in v2.
>
> > +
> > /* No one else should require these constants, so define them locally
> here. */
> > #define ISR 0x00 /* Interrupt Status Register */
> > #define IPR 0x04 /* Interrupt Pending Register */
> > @@ -32,35 +33,40 @@
> > #define MER_ME (1<<0)
> > #define MER_HIE (1<<1)
> >
> > -static DEFINE_STATIC_KEY_FALSE(xintc_is_be);
>
> I am playing with this driver a little bit now and I pretty much dislike remove
> this. I haven't see any configuration which mixes little and big endian
> together. That's why I prefer not to create read_fn/write_fn hooks.
[Mubin]: Agreed, I will remove read_fn/write_fn and use xintc_is_be in v2.

Thanks,
Mubin
>
> Thanks,
> Michal