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.