Re: [PATCH 19/19] irqchip: add irq-nationalchip.c and irq-csky.c

2018-03-20 Thread Guo Ren
Hi Thomas, On Mon, Mar 19, 2018 at 02:30:42PM +0100, Thomas Gleixner wrote: > > +static struct irq_chip ck_irq_chip = { > > + .name = "csky_intc_v1", > > + .irq_mask = ck_irq_mask, > > + .irq_unmask = ck_irq_unmask, > > +}; > > Please use the generic interrupt chip infra

Re: [PATCH 19/19] irqchip: add irq-nationalchip.c and irq-csky.c

2018-03-19 Thread Thomas Gleixner
On Mon, 19 Mar 2018, Guo Ren wrote: > +static void ck_irq_mask(struct irq_data *d) > +{ > + unsigned int temp, irq; > + > + irq = d->irq; > + > + if (irq < 32) { > + temp = __raw_readl(CK_VA_INTC_NEN31_00); > + temp &= ~(1 << irq); > + __raw_writel(te

Re: [PATCH 19/19] irqchip: add irq-nationalchip.c and irq-csky.c

2018-03-19 Thread Guo Ren
On Mon, Mar 19, 2018 at 04:26:00AM +, Mark Rutland wrote: > On Mon, Mar 19, 2018 at 03:51:41AM +0800, Guo Ren wrote: > > +static unsigned int intc_reg; > > This should be a void __iomem *ptr; > OK > > +#define CK_VA_INTC_ICR (void *)(intc_reg + 0x00) /* > > Interrupt contro

Re: [PATCH 19/19] irqchip: add irq-nationalchip.c and irq-csky.c

2018-03-18 Thread Mark Rutland
On Mon, Mar 19, 2018 at 03:51:41AM +0800, Guo Ren wrote: > +static unsigned int intc_reg; This should be a void __iomem *ptr; > + > +#define CK_VA_INTC_ICR (void *)(intc_reg + 0x00) /* > Interrupt control register(High 16bits) */ > +#define CK_VA_INTC_ISR (void

[PATCH 19/19] irqchip: add irq-nationalchip.c and irq-csky.c

2018-03-18 Thread Guo Ren
Signed-off-by: Guo Ren --- drivers/irqchip/Makefile | 1 + drivers/irqchip/irq-csky.c | 151 drivers/irqchip/irq-nationalchip.c | 196 + 3 files changed, 348 insertions(+) create mode 100644 drivers/irqchip/irq-