[PATCH net-next v4 1/7] net: axienet: Fix resource release ordering
Andrew Lunn
andrew at lunn.ch
Tue Aug 5 13:59:11 PDT 2025
> +static void axienet_disable_misc(void *clocks)
> +{
> + clk_bulk_disable_unprepare(XAE_NUM_MISC_CLOCKS, clocks);
> +}
> +
...
> ret = devm_clk_bulk_get_optional(&pdev->dev, XAE_NUM_MISC_CLOCKS, lp->misc_clks);
> if (ret)
> - goto cleanup_clk;
> + return dev_err_probe(&pdev->dev, ret,
> + "could not get misc. clocks\n");
>
> ret = clk_bulk_prepare_enable(XAE_NUM_MISC_CLOCKS, lp->misc_clks);
> if (ret)
> - goto cleanup_clk;
> + return dev_err_probe(&pdev->dev, ret,
> + "could not enable misc. clocks\n");
> +
> + ret = devm_add_action_or_reset(&pdev->dev, axienet_disable_misc,
> + lp->misc_clks);
It seems like it would be better to add
devm_clk_bulk_get_optional_enable(). There is already an
devm_clk_bulk_get_all_enabled() so it does not seem like too big a
step.
Andrew
More information about the linux-arm-kernel
mailing list