]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
pinctrl: mcp23s08: Read spi-present-mask as u8 not u32
authorJudith Mendez <jm@ti.com>
Wed, 13 May 2026 23:11:54 +0000 (18:11 -0500)
committerLinus Walleij <linusw@kernel.org>
Mon, 25 May 2026 07:50:48 +0000 (09:50 +0200)
The binding (microchip,mcp23s08) specifies microchip,spi-present-mask
as uint8, but driver would read u32, causing type mismatch. Use
device_property_read_u8 to match binding spec, hardware (8 chips max),
& prevent probe failure.

Cc: stable@vger.kernel.org
Fixes: 3ad8d3ec6d87 ("dt-bindings: pinctrl: convert pinctrl-mcp23s08.txt to yaml format")
Signed-off-by: Judith Mendez <jm@ti.com>
Signed-off-by: Linus Walleij <linusw@kernel.org>
drivers/pinctrl/pinctrl-mcp23s08_spi.c

index 5ed368772adb78d1d13a2cf4d5f2dd1595505415..30775d31bd6943b1e9e3c80a87d0c16774c4db03 100644 (file)
@@ -144,13 +144,13 @@ static int mcp23s08_probe(struct spi_device *spi)
        unsigned int addr;
        int chips;
        int ret;
-       u32 v;
+       u8 v;
 
        info = spi_get_device_match_data(spi);
 
-       ret = device_property_read_u32(dev, "microchip,spi-present-mask", &v);
+       ret = device_property_read_u8(dev, "microchip,spi-present-mask", &v);
        if (ret) {
-               ret = device_property_read_u32(dev, "mcp,spi-present-mask", &v);
+               ret = device_property_read_u8(dev, "mcp,spi-present-mask", &v);
                if (ret) {
                        dev_err(dev, "missing spi-present-mask");
                        return ret;