[PATCH] powerpc/8xx: Fix interrupt mask in cpm1_gpiochip_add16()

Christophe Leroy (CS GROUP) posted 1 patch 1 month, 3 weeks ago
arch/powerpc/platforms/8xx/cpm1.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] powerpc/8xx: Fix interrupt mask in cpm1_gpiochip_add16()
Posted by Christophe Leroy (CS GROUP) 1 month, 3 weeks ago
Allthough fsl,cpm1-gpio-irq-mask always contains a 16 bits value,
it is a standard u32 OF property as documented in
Documentation/devicetree/bindings/soc/fsl/cpm_qe/gpio.txt

The driver erroneously uses of_property_read_u16() leading to a
mask which is always 0.

Fix it by using of_property_read_u32() instead.

Fixes: 726bd223105c ("powerpc/8xx: Adding support of IRQ in MPC8xx GPIO")
Signed-off-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
---
 arch/powerpc/platforms/8xx/cpm1.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/platforms/8xx/cpm1.c b/arch/powerpc/platforms/8xx/cpm1.c
index 7433be7d66ee..f00734f0590c 100644
--- a/arch/powerpc/platforms/8xx/cpm1.c
+++ b/arch/powerpc/platforms/8xx/cpm1.c
@@ -477,7 +477,7 @@ int cpm1_gpiochip_add16(struct device *dev)
 	struct device_node *np = dev->of_node;
 	struct cpm1_gpio16_chip *cpm1_gc;
 	struct gpio_chip *gc;
-	u16 mask;
+	u32 mask;
 
 	cpm1_gc = devm_kzalloc(dev, sizeof(*cpm1_gc), GFP_KERNEL);
 	if (!cpm1_gc)
@@ -485,7 +485,7 @@ int cpm1_gpiochip_add16(struct device *dev)
 
 	spin_lock_init(&cpm1_gc->lock);
 
-	if (!of_property_read_u16(np, "fsl,cpm1-gpio-irq-mask", &mask)) {
+	if (!of_property_read_u32(np, "fsl,cpm1-gpio-irq-mask", &mask)) {
 		int i, j;
 
 		for (i = 0, j = 0; i < 16; i++)
-- 
2.49.0
Re: [PATCH] powerpc/8xx: Fix interrupt mask in cpm1_gpiochip_add16()
Posted by Madhavan Srinivasan 1 month ago
On Tue, 21 Apr 2026 08:26:08 +0200, Christophe Leroy (CS GROUP) wrote:
> Allthough fsl,cpm1-gpio-irq-mask always contains a 16 bits value,
> it is a standard u32 OF property as documented in
> Documentation/devicetree/bindings/soc/fsl/cpm_qe/gpio.txt
> 
> The driver erroneously uses of_property_read_u16() leading to a
> mask which is always 0.
> 
> [...]

Applied to powerpc/fixes.

[1/1] powerpc/8xx: Fix interrupt mask in cpm1_gpiochip_add16()
      https://git.kernel.org/powerpc/c/da107152c43915211e1fc0319b9526f4241abca2

cheers