Messages in this thread |  | | From | Yash Shah <> | Subject | RE: [PATCH 1/4] irqchip: sifive: Support hierarchy irq domain | Date | Mon, 18 Nov 2019 07:14:27 +0000 |
| |
> -----Original Message----- > From: Marc Zyngier <maz@kernel.org> > Sent: 12 November 2019 18:13 > To: Yash Shah <yash.shah@sifive.com> > Cc: linus.walleij@linaro.org; bgolaszewski@baylibre.com; > robh+dt@kernel.org; mark.rutland@arm.com; palmer@dabbelt.com; Paul > Walmsley ( Sifive) <paul.walmsley@sifive.com>; aou@eecs.berkeley.edu; > tglx@linutronix.de; jason@lakedaemon.net; bmeng.cn@gmail.com; > atish.patra@wdc.com; Sagar Kadam <sagar.kadam@sifive.com>; linux- > gpio@vger.kernel.org; devicetree@vger.kernel.org; linux- > riscv@lists.infradead.org; linux-kernel@vger.kernel.org; Sachin Ghadi > <sachin.ghadi@sifive.com> > Subject: Re: [PATCH 1/4] irqchip: sifive: Support hierarchy irq domain > > On 2019-11-12 13:21, Yash Shah wrote: > > Add support for hierarchy irq domains. This is needed as pre-requisite > > for gpio-sifive driver. > > > > Signed-off-by: Yash Shah <yash.shah@sifive.com> > > --- > > drivers/irqchip/Kconfig | 1 + > > drivers/irqchip/irq-sifive-plic.c | 41 > > +++++++++++++++++++++++++++++++++++---- > > 2 files changed, 38 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig index > > ccbb897..a398552 100644 > > --- a/drivers/irqchip/Kconfig > > +++ b/drivers/irqchip/Kconfig > > @@ -488,6 +488,7 @@ endmenu > > config SIFIVE_PLIC > > bool "SiFive Platform-Level Interrupt Controller" > > depends on RISCV > > + select IRQ_DOMAIN_HIERARCHY > > help ... > > > > +static int plic_irq_domain_translate(struct irq_domain *d, > > + struct irq_fwspec *fwspec, > > + unsigned long *hwirq, unsigned int *type) > { > > + if (WARN_ON(fwspec->param_count < 1)) > > + return -EINVAL; > > + *hwirq = fwspec->param[0]; > > + *type = IRQ_TYPE_NONE; > > + return 0; > > +} > > This is actually what should be called irq_domain_translate_onecell(). > > Consider implementing that instead, and using it in this driver. I'm pretty sure > other drivers could use it (I spotted irq-nvic.c).
Sure, will implement irq_domain_translate_onecell() and use that instead. Thanks for your comments!
- Yash
> > > > > static struct irq_domain *plic_irqdomain; > > Otherwise, looks OK. > > Thanks, > > M. > -- > Jazz is not dead. It just smells funny...
|  |