All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] c67: irq: don't reimplement __handle_domain_irq()
@ 2015-06-23 21:59 Felipe Balbi
  2015-06-25 19:29 ` Mark Salter
  0 siblings, 1 reply; 3+ messages in thread
From: Felipe Balbi @ 2015-06-23 21:59 UTC (permalink / raw)
  To: Mark Salter, Aurelien Jacquiot
  Cc: Linux Kernel Mailing List, linux-c6x-dev, Felipe Balbi

c6x_do_IRQ() had a reimplementation of
__handle_domain_irq(), instead just call
that.

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)
 {
-- 
2.4.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] c67: irq: don't reimplement __handle_domain_irq()
  2015-06-23 21:59 [PATCH] c67: irq: don't reimplement __handle_domain_irq() Felipe Balbi
@ 2015-06-25 19:29 ` Mark Salter
  2015-06-25 19:35   ` Felipe Balbi
  0 siblings, 1 reply; 3+ messages in thread
From: Mark Salter @ 2015-06-25 19:29 UTC (permalink / raw)
  To: Felipe Balbi, Aurelien Jacquiot; +Cc: Linux Kernel Mailing List, linux-c6x-dev

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)
>  {

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] c67: irq: don't reimplement __handle_domain_irq()
  2015-06-25 19:29 ` Mark Salter
@ 2015-06-25 19:35   ` Felipe Balbi
  0 siblings, 0 replies; 3+ messages in thread
From: Felipe Balbi @ 2015-06-25 19:35 UTC (permalink / raw)
  To: Mark Salter
  Cc: Felipe Balbi, Aurelien Jacquiot, Linux Kernel Mailing List,
	linux-c6x-dev

[-- Attachment #1: Type: text/plain, Size: 547 bytes --]

On Thu, Jun 25, 2015 at 03:29:50PM -0400, Mark Salter wrote:
> 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.

Sorry about missing that. Thanks

-- 
balbi

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-06-25 19:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-23 21:59 [PATCH] c67: irq: don't reimplement __handle_domain_irq() Felipe Balbi
2015-06-25 19:29 ` Mark Salter
2015-06-25 19:35   ` Felipe Balbi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.