gpio: pisosr: Read "ngpios" as u32
PATCH 1/1 gpio: pisosr: Read "ngpios" as u32
The generic "ngpios" property is encoded as a normal uint32 cell. The pisosr driver stores it in the gpio_chip field, but reading it with a u16 helper does not match the DT property encoding.
Read "ngpios" as u32 and keep the existing assignment to the chip field.
--- drivers/gpio/gpio-pisosr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/gpio/gpio-pisosr.c +3 -1
@@ -112,6 +112,7 @@ static int pisosr_gpio_probe(struct spi_device *spi) {struct device *dev = &spi->dev;struct pisosr_gpio *gpio; +u32 ngpios;int ret; gpio =devm_kzalloc (dev,sizeof (*gpio),GFP_KERNEL );
@@ -120,7 +121,8 @@ static int pisosr_gpio_probe(struct spi_device *spi) gpio->chip = template_chip; gpio->chip.parent = dev; -of_property_read_u16 (dev->of_node,"ngpios" , &gpio->chip.ngpio); +if (!of_property_read_u32 (dev->of_node,"ngpios" , &ngpios)) + gpio->chip.ngpio = ngpios; gpio->spi = spi;
Signature · 1 line
2.53.0
Linus Walleij
maintainerQuoted 9 lines · Rob Herring (Arm)
The generic "ngpios" property is encoded as a normal uint32 cell. The pisosr driver stores it in the
gpio_chipfield, but reading it with a u16 helper does not match the DT property encoding.Read "ngpios" as u32 and keep the existing assignment to the chip field.
Assisted-by Codex:gpt-5-5Signed-off-by Rob Herring (Arm) <[email protected]>
Patch applied.
Yours,
Linus Walleij
Linus Walleij
maintainerQuoted 6 lines · Linus Walleij
Quoted 4 lines · Rob Herring (Arm)
The generic "ngpios" property is encoded as a normal uint32 cell. The pisosr driver stores it in the
gpio_chipfield, but reading it with a u16 helper does not match the DT property encoding.
Quoted 7 lines
Quoted 5 lines
Read "ngpios" as u32 and keep the existing assignment to the chip field.
Assisted-by Codex:gpt-5-5Signed-off-by Rob Herring (Arm) <[email protected]>Patch applied.
Oh no I don't. That's GPIO. Bartosz will look into it, I dropped it from my tree.
Yours,
Linus Walleij
Bartosz Golaszewski
AppliedQuoted 8 lines · Rob Herring (Arm)
The generic "ngpios" property is encoded as a normal uint32 cell. The pisosr driver stores it in the
gpio_chipfield, but reading it with a u16 helper does not match the DT property encoding.Read "ngpios" as u32 and keep the existing assignment to the chip field.
[...]
Applied, thanks!
[1/1] gpio: pisosr: Read "ngpios" as u32
https://git.kernel.org/brgl/c/4910aa198d25e5d1067236560ba34ab12bccc677
Best regards,
Signature · 1 line
Bartosz Golaszewski <[email protected]>