]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
powerpc/8xx: Fix interrupt mask in cpm1_gpiochip_add16()
authorChristophe Leroy (CS GROUP) <chleroy@kernel.org>
Tue, 21 Apr 2026 06:26:08 +0000 (08:26 +0200)
committerMadhavan Srinivasan <maddy@linux.ibm.com>
Wed, 6 May 2026 02:05:19 +0000 (07:35 +0530)
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>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/bb0b6d6c4543238c38d5d29a776d0674a8c0c180.1776752750.git.chleroy@kernel.org
arch/powerpc/platforms/8xx/cpm1.c

index 7433be7d66ee96dbc1bdad75649c09b900a356ac..f00734f0590cf7c7382f808dce27373d9ff3d8bc 100644 (file)
@@ -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++)