[PATCH] pinctrl: stm32: improve bank clocks management

Marek Vasut marex at denx.de
Fri Apr 22 09:26:32 PDT 2022


On 4/22/22 16:36, Fabien Dessenne wrote:
> Instead of enabling/disabling the clock at each IO configuration update,
> just keep the clock enabled from the probe.
> This makes things simpler and more efficient (e.g. the time required to
> toggle an output IO is drastically decreased) without significantly
> increasing the power consumption.

[...]

>   static struct irq_domain *stm32_pctrl_get_irq_domain(struct device_node *np)
> @@ -1575,6 +1537,10 @@ int stm32_pctl_probe(struct platform_device *pdev)
>   			ret = stm32_gpiolib_register_bank(pctl, child);
>   			if (ret) {
>   				of_node_put(child);
> +
> +				for (i = 0; i < pctl->nbanks; i++)
> +					clk_disable_unprepare(pctl->banks[i].clk);
> +

There are clk_bulk_*() functions, maybe you can use those to get rid of 
these loops ?

The rest looks good to me.



More information about the linux-arm-kernel mailing list