Re: [PATCH] c67: irq: don't reimplement __handle_domain_irq()

From: Mark Salter
Date: Thu Jun 25 2015 - 15:30:11 EST


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@xxxxxx>
> ---
>
> 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)
> {
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/