All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] irqdomain: fix irq_domain_xlate_onetwocell()
@ 2016-08-02  8:52 Sebastian Frias
  2016-09-02 16:15 ` [tip:irq/core] irqdomain: Mask irq type in irq_domain_xlate_onetwocell() tip-bot for Sebastian Frias
  0 siblings, 1 reply; 2+ messages in thread
From: Sebastian Frias @ 2016-08-02  8:52 UTC (permalink / raw)
  To: Grant Likely, Thomas Gleixner, Marc Zyngier, Jason Cooper; +Cc: LKML, Mason

Use IRQ_TYPE_SENSE_MASK on irq_domain_xlate_onetwocell()

According to the xlate() callback definition, the 'out_type' parameter
needs to be the "linux irq type". A mask for such bits exists,
IRQ_TYPE_SENSE_MASK, and as a matter of fact it is used in
irq_domain_xlate_twocell(), use it for irq_domain_xlate_onetwocell() as
well.

Fixes: 16b2e6e2f31d ("irq_domain: Create common xlate functions that device
drivers can use")

Signed-off-by: Sebastian Frias <sf84@laposte.net>
---
 kernel/irq/irqdomain.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
index 8798b6c..1bdd3fe 100644
--- a/kernel/irq/irqdomain.c
+++ b/kernel/irq/irqdomain.c
@@ -824,7 +824,10 @@ int irq_domain_xlate_onetwocell(struct irq_domain *d,
 	if (WARN_ON(intsize < 1))
 		return -EINVAL;
 	*out_hwirq = intspec[0];
-	*out_type = (intsize > 1) ? intspec[1] : IRQ_TYPE_NONE;
+	if (intsize > 1)
+		*out_type = intspec[1] & IRQ_TYPE_SENSE_MASK;
+	else
+		*out_type = IRQ_TYPE_NONE;
 	return 0;
 }
 EXPORT_SYMBOL_GPL(irq_domain_xlate_onetwocell);
-- 
1.7.11.2

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

* [tip:irq/core] irqdomain: Mask irq type in irq_domain_xlate_onetwocell()
  2016-08-02  8:52 [PATCH] irqdomain: fix irq_domain_xlate_onetwocell() Sebastian Frias
@ 2016-09-02 16:15 ` tip-bot for Sebastian Frias
  0 siblings, 0 replies; 2+ messages in thread
From: tip-bot for Sebastian Frias @ 2016-09-02 16:15 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: tglx, linux-kernel, mingo, sf84, marc.zyngier, jason, hpa,
	grant.likely, slash.tmp

Commit-ID:  0c228919e04ddec195402296e7ebf2472ed6caef
Gitweb:     http://git.kernel.org/tip/0c228919e04ddec195402296e7ebf2472ed6caef
Author:     Sebastian Frias <sf84@laposte.net>
AuthorDate: Tue, 2 Aug 2016 10:52:45 +0200
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Fri, 2 Sep 2016 18:06:50 +0200

irqdomain: Mask irq type in irq_domain_xlate_onetwocell()

According to the xlate() callback definition, the 'out_type' parameter
needs to be the "linux irq type".

A mask for such bits exists, IRQ_TYPE_SENSE_MASK, which is correctly
applied in irq_domain_xlate_twocell()

So use it for irq_domain_xlate_onetwocell() as well.

Signed-off-by: Sebastian Frias <sf84@laposte.net>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Mason <slash.tmp@free.fr>
Cc: Jason Cooper <jason@lakedaemon.net>
Link: http://lkml.kernel.org/r/57A05F5D.103@laposte.net
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

---
 kernel/irq/irqdomain.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
index 4752b43..f10cffe 100644
--- a/kernel/irq/irqdomain.c
+++ b/kernel/irq/irqdomain.c
@@ -868,7 +868,10 @@ int irq_domain_xlate_onetwocell(struct irq_domain *d,
 	if (WARN_ON(intsize < 1))
 		return -EINVAL;
 	*out_hwirq = intspec[0];
-	*out_type = (intsize > 1) ? intspec[1] : IRQ_TYPE_NONE;
+	if (intsize > 1)
+		*out_type = intspec[1] & IRQ_TYPE_SENSE_MASK;
+	else
+		*out_type = IRQ_TYPE_NONE;
 	return 0;
 }
 EXPORT_SYMBOL_GPL(irq_domain_xlate_onetwocell);

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

end of thread, other threads:[~2016-09-02 16:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-02  8:52 [PATCH] irqdomain: fix irq_domain_xlate_onetwocell() Sebastian Frias
2016-09-02 16:15 ` [tip:irq/core] irqdomain: Mask irq type in irq_domain_xlate_onetwocell() tip-bot for Sebastian Frias

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.