Hi Stefan,
On Monday, May 11th, 2026 at 12:45 PM, Tony Dinh <[email protected]> wrote:
> Added Stefan (MVEBU SoC maintainer).
>
> > The first commit to cause problems is actually 217cf65 dm:
core: Default to using DEVRES outside of xPL.
After a lot of testing, I think I've traced the issue to
drivers/pinctrl/mvebu/pinctrl-armada-37xx.c. There are two calls
to devm_kzalloc that, when I change to kzalloc and remove the dev
argument, my device boots again.
--- a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
+++ b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
@@ -523,8 +523,7 @@ static int armada_37xx_fill_func(struct armada_37xx_pinctrl
*info)
const char **groups;
int g;
- funcs[n].groups = devm_kzalloc(info->dev, funcs[n].ngroups *
- sizeof(*(funcs[n].groups)),
+ funcs[n].groups = kzalloc(funcs[n].ngroups *
sizeof(*(funcs[n].groups)),
GFP_KERNEL);
if (!funcs[n].groups)
return -ENOMEM;
@@ -724,7 +723,7 @@ static int armada_37xx_pinctrl_probe(struct udevice *dev)
* we allocate functions for number of pins and hope there are
* fewer unique functions than pins available
*/
- info->funcs = devm_kzalloc(info->dev, pin_data->nr_pins *
+ info->funcs = kzalloc(pin_data->nr_pins *
sizeof(struct armada_37xx_pmx_func), GFP_KERNEL);
if (!info->funcs)
return -ENOMEM;
I cannot explain why these changes resolve the issue so I'd
appreciate if someone more knowledgeable would review.
I'm also happy to test other proposed solutions. Thank you!
Ben