Message ID | 1379309482-19779-1-git-send-email-chander.kashyap@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Chander, On Monday 16 of September 2013 11:01:22 Chander Kashyap wrote: > Pass '0' in place of hardcoded "irq_base" value as "first_irq" parameter > to "irq_domain_add_simple" in order to use linear irq domain. > > Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org> > --- > drivers/irqchip/exynos-combiner.c | 15 +++------------ > 1 file changed, 3 insertions(+), 12 deletions(-) > > diff --git a/drivers/irqchip/exynos-combiner.c > b/drivers/irqchip/exynos-combiner.c index 4c68265..b4ed356 100644 > --- a/drivers/irqchip/exynos-combiner.c > +++ b/drivers/irqchip/exynos-combiner.c > @@ -206,8 +206,7 @@ static unsigned int combiner_lookup_irq(int group) > > static void __init combiner_init(void __iomem *combiner_base, > struct device_node *np, > - unsigned int max_nr, > - int irq_base) > + unsigned int max_nr) > { > int i, irq; > unsigned int nr_irq; > @@ -221,7 +220,7 @@ static void __init combiner_init(void __iomem > *combiner_base, return; > } > > - combiner_irq_domain = irq_domain_add_simple(np, nr_irq, irq_base, > + combiner_irq_domain = irq_domain_add_simple(np, nr_irq, 0, > &combiner_irq_domain_ops, combiner_data); I believe you can safely go with calling irq_domain_add_linear() directly here. Otherwise the patch looks good. Best regards, Tomasz
On 17 September 2013 18:07, Tomasz Figa <t.figa@samsung.com> wrote: > Hi Chander, > > On Monday 16 of September 2013 11:01:22 Chander Kashyap wrote: >> Pass '0' in place of hardcoded "irq_base" value as "first_irq" parameter >> to "irq_domain_add_simple" in order to use linear irq domain. >> >> Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org> >> --- >> drivers/irqchip/exynos-combiner.c | 15 +++------------ >> 1 file changed, 3 insertions(+), 12 deletions(-) >> >> diff --git a/drivers/irqchip/exynos-combiner.c >> b/drivers/irqchip/exynos-combiner.c index 4c68265..b4ed356 100644 >> --- a/drivers/irqchip/exynos-combiner.c >> +++ b/drivers/irqchip/exynos-combiner.c >> @@ -206,8 +206,7 @@ static unsigned int combiner_lookup_irq(int group) >> >> static void __init combiner_init(void __iomem *combiner_base, >> struct device_node *np, >> - unsigned int max_nr, >> - int irq_base) >> + unsigned int max_nr) >> { >> int i, irq; >> unsigned int nr_irq; >> @@ -221,7 +220,7 @@ static void __init combiner_init(void __iomem >> *combiner_base, return; >> } >> >> - combiner_irq_domain = irq_domain_add_simple(np, nr_irq, irq_base, >> + combiner_irq_domain = irq_domain_add_simple(np, nr_irq, 0, >> &combiner_irq_domain_ops, combiner_data); > > I believe you can safely go with calling irq_domain_add_linear() directly > here. Yes, I will replace the call and resend the patch. thanks > > Otherwise the patch looks good. > > Best regards, > Tomasz >
diff --git a/drivers/irqchip/exynos-combiner.c b/drivers/irqchip/exynos-combiner.c index 4c68265..b4ed356 100644 --- a/drivers/irqchip/exynos-combiner.c +++ b/drivers/irqchip/exynos-combiner.c @@ -206,8 +206,7 @@ static unsigned int combiner_lookup_irq(int group) static void __init combiner_init(void __iomem *combiner_base, struct device_node *np, - unsigned int max_nr, - int irq_base) + unsigned int max_nr) { int i, irq; unsigned int nr_irq; @@ -221,7 +220,7 @@ static void __init combiner_init(void __iomem *combiner_base, return; } - combiner_irq_domain = irq_domain_add_simple(np, nr_irq, irq_base, + combiner_irq_domain = irq_domain_add_simple(np, nr_irq, 0, &combiner_irq_domain_ops, combiner_data); if (WARN_ON(!combiner_irq_domain)) { pr_warning("%s: irq domain init failed\n", __func__); @@ -248,7 +247,6 @@ static int __init combiner_of_init(struct device_node *np, { void __iomem *combiner_base; unsigned int max_nr = 20; - int irq_base = -1; combiner_base = of_iomap(np, 0); if (!combiner_base) { @@ -262,14 +260,7 @@ static int __init combiner_of_init(struct device_node *np, __func__, max_nr); } - /* - * FIXME: This is a hardwired COMBINER_IRQ(0,0). Once all devices - * get their IRQ from DT, remove this in order to get dynamic - * allocation. - */ - irq_base = 160; - - combiner_init(combiner_base, np, max_nr, irq_base); + combiner_init(combiner_base, np, max_nr); return 0; }
Pass '0' in place of hardcoded "irq_base" value as "first_irq" parameter to "irq_domain_add_simple" in order to use linear irq domain. Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org> --- drivers/irqchip/exynos-combiner.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-)