Re: [PATCH v3 04/12] soc: qcom: geni-se: Add resources activation/deactivation helpers

From: Konrad Dybcio

Date: Fri Jan 30 2026 - 07:11:52 EST


On 1/12/26 11:47 AM, Praveen Talari wrote:
> The GENI SE protocol drivers (I2C, SPI, UART) implement similar resource
> activation/deactivation sequences independently, leading to code
> duplication.
>
> Introduce geni_se_resources_activate()/geni_se_resources_deactivate() to
> power on/off resources.The activate function enables ICC, clocks, and TLMM
> whereas the deactivate function disables resources in reverse order
> including OPP rate reset, clocks, ICC and TLMM.
>
> Signed-off-by: Praveen Talari <praveen.talari@xxxxxxxxxxxxxxxx>
> ---

[...]

> +int geni_se_resources_deactivate(struct geni_se *se)
> +{
> + int ret;
> +
> + if (has_acpi_companion(se->dev))
> + return 0;
> +
> + if (se->has_opp)
> + dev_pm_opp_set_rate(se->dev, 0);
> +
> + ret = pinctrl_pm_select_sleep_state(se->dev);
> + if (ret)
> + return ret;
> +
> + geni_se_clks_off(se);
> +
> + if (se->core_clk)
> + clk_disable_unprepare(se->core_clk);

All clk APIs already perform a null-check internally, perhaps this call
could be merged into geni_se_clks_off()?

Konrad