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 <[email protected]>
> ---
> 
> 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to