On 26/11/2018 10:03, Parthiban Nallathambi wrote: > Actions Semi Owl family SoC's S500, S700 and S900 provides support > for 3 external interrupt controllers through SIRQ pins. > > Each line can be independently configured as interrupt and triggers > on either of the edges (raising or falling) or either of the levels > (high or low) . Each line can also be masked independently. > > Signed-off-by: Parthiban Nallathambi <pn@xxxxxxx> > Signed-off-by: Saravanan Sekar <sravanhome@xxxxxxxxx> > --- > drivers/irqchip/Makefile | 1 + > drivers/irqchip/irq-owl-sirq.c | 301 +++++++++++++++++++++++++++++++++ > 2 files changed, 302 insertions(+) > create mode 100644 drivers/irqchip/irq-owl-sirq.c > > diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile > index 794c13d3ac3d..d8015fc5c1a2 100644 > --- a/drivers/irqchip/Makefile > +++ b/drivers/irqchip/Makefile > @@ -7,6 +7,7 @@ obj-$(CONFIG_ATH79) += irq-ath79-misc.o > obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2835.o > obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2836.o > obj-$(CONFIG_ARCH_EXYNOS) += exynos-combiner.o > +obj-$(CONFIG_ARCH_ACTIONS) += irq-owl-sirq.o > obj-$(CONFIG_FARADAY_FTINTC010) += irq-ftintc010.o > obj-$(CONFIG_ARCH_HIP04) += irq-hip04.o > obj-$(CONFIG_ARCH_LPC32XX) += irq-lpc32xx.o > diff --git a/drivers/irqchip/irq-owl-sirq.c b/drivers/irqchip/irq-owl-sirq.c > new file mode 100644 > index 000000000000..cc59e5743cda > --- /dev/null > +++ b/drivers/irqchip/irq-owl-sirq.c > @@ -0,0 +1,301 @@ > +// SPDX-License-Identifier: GPL-2.0+ > +/* > + * Actions Semi Owl SoCs SIRQ interrupt controller driver > + * > + * Copyright (C) 2014 Actions Semi Inc. > + * David Liu <liuwei@xxxxxxxxxxxxxxxx> > + * > + * Author: Parthiban Nallathambi <pn@xxxxxxx> > + * Author: Saravanan Sekar <sravanhome@xxxxxxxxx> > + */ > + > +#include <linux/interrupt.h> > +#include <linux/irqchip.h> > +#include <linux/of_irq.h> > +#include <linux/of_address.h> > + > +#define INTC_EXTCTL_PENDING BIT(0) > +#define INTC_EXTCTL_CLK_SEL BIT(4) > +#define INTC_EXTCTL_EN BIT(5) > +#define INTC_EXTCTL_TYPE_MASK GENMASK(6, 7) #define GENMASK(h, l) [...] I sense a problem here. Thanks, M. -- Jazz is not dead. It just smells funny...