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

Reply via email to