irqdomain: fix irq_domain_xlate_onetwocell()
Subsystems (2)
PATCH 1/1 irqdomain: fix irq_domain_xlate_onetwocell()
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.
drivers can use")
--- kernel/irq/irqdomain.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
kernel/irq/irqdomain.c +4 -1
@@ -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);
Signature · 1 line
1.7.11.2
tip-bot for Sebastian Frias
merge bot[tip:irq/core] irqdomain: Mask irq type in irq_domain_xlate_onetwocell()
irqdomain: Mask irq type in irq_domain_xlate_onetwocell()
Commit-ID: 0c228919e04ddec195402296e7ebf2472ed6caef Gitweb: http://git.kernel.org/tip/0c228919e04ddec195402296e7ebf2472ed6caef Author: Sebastian Frias <[email protected]> AuthorDate: Tue, 2 Aug 2016 10:52:45 +0200 Committer: Thomas Gleixner <[email protected]> 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.
--- kernel/irq/irqdomain.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
kernel/irq/irqdomain.c +4 -1
@@ -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);