diff options
| author | Quentin Schulz <[email protected]> | 2026-06-25 11:45:52 +0200 |
|---|---|---|
| committer | Stefan Roese <[email protected]> | 2026-07-30 21:04:16 +0200 |
| commit | 93c1d38cd80d6c74b4c412ac1bf2c7bb13f1aae2 (patch) | |
| tree | 97543368558061c5cb067d4e93d5554268ce05f1 | |
| parent | 100e12ea78c73071b9710f08b32fd4590019266f (diff) | |
arm64: a37xx: pinctrl: fix info->dev used but never set
A bunch of code calls info->dev, mostly dev_* messages and devm_kzalloc.
The former can be passed a NULL device and _dev_printk handles this just
fine.
The latter ignores the dev argument whenever !CONFIG_IS_ENABLED(DEVRES)
which was true in most cases until we made CONFIG_DEVRES mandatory for
U-Boot proper in commit 217cf656e249 ("dm: core: Default to using DEVRES
outside of xPL"). Failing to set info->dev before it's used by
devm_kzalloc results in crashes, therefore let's set info->dev before it
can be used.
Reported-by: Ben Schneider <[email protected]>
Closes: https://lore.kernel.org/u-boot/IRefanijM8fTzOXeGe-H5hmhRkm7pt4Q83BV6VcWKlWp0s4i8mYcONTQz-IVhvNWlGta4LtnfK7ti6gxlrqq8h8cotgG1S0Fs6_DviAHvyo=@bens.haus/
Fixes: 0871806629b5 ("pinctrl: armada-37xx: Add pin controller support for Armada 37xx")
Fixes: 217cf656e249 ("dm: core: Default to using DEVRES outside of xPL")
Signed-off-by: Quentin Schulz <[email protected]>
Tested-by: Ben Schneider <[email protected]>
Reviewed-by: Stefan Roese <[email protected]>
| -rw-r--r-- | drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c index 884ed258d17..ea726b96f61 100644 --- a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c +++ b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c @@ -720,6 +720,8 @@ static int armada_37xx_pinctrl_probe(struct udevice *dev) return -ENODEV; } + info->dev = dev; + /* * we allocate functions for number of pins and hope there are * fewer unique functions than pins available |
