Messages in this thread | | | Subject | Re: [PATCH] c67: irq: don't reimplement __handle_domain_irq() | From | Mark Salter <> | Date | Thu, 25 Jun 2015 15:29:50 -0400 |
| |
On Tue, 2015-06-23 at 16:59 -0500, Felipe Balbi wrote: > c6x_do_IRQ() had a reimplementation of > __handle_domain_irq(), instead just call > that.
Actually, the other way around. The __handle_domain_irq() function is relatively recent compared to the c6x code.
Anyway, your patch needed a "select HANDLE_DOMAIN_IRQ" in c6x/Kconfig to build. I'll add that myself and queue up your patch in the c6x tree.
Thanks!
> > Signed-off-by: Felipe Balbi <balbi@ti.com> > --- > > Patch wasn't even compile tested because I really don't > have c6x GCC around. If someone could test the patch before > applying, that would avoid regressions. > > arch/c6x/kernel/irq.c | 13 ++----------- > 1 file changed, 2 insertions(+), 11 deletions(-) > > diff --git a/arch/c6x/kernel/irq.c b/arch/c6x/kernel/irq.c > index 247e0eb5e467..a7f73bc765ac 100644 > --- a/arch/c6x/kernel/irq.c > +++ b/arch/c6x/kernel/irq.c > @@ -58,22 +58,13 @@ static struct irq_chip core_chip = { > }; > > static int prio_to_virq[NR_PRIORITY_IRQS]; > +static struct irq_domain *core_domain; > > asmlinkage void c6x_do_IRQ(unsigned int prio, struct pt_regs *regs) > { > - struct pt_regs *old_regs = set_irq_regs(regs); > - > - irq_enter(); > - > - generic_handle_irq(prio_to_virq[prio]); > - > - irq_exit(); > - > - set_irq_regs(old_regs); > + __handle_domain_irq(core_domain, prio, true, regs); > } > > -static struct irq_domain *core_domain; > - > static int core_domain_map(struct irq_domain *h, unsigned int virq, > irq_hw_number_t hw) > {
| |