]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pmdomain: imx93-pd: don't unprepare clocks on driver remove
authorDario Binacchi <dario.binacchi@amarulasolutions.com>
Sun, 25 Aug 2024 14:34:01 +0000 (16:34 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Fri, 13 Sep 2024 10:45:39 +0000 (12:45 +0200)
The removed code was added to handle the case where the power domain is
already on during the driver's probing. In this use case, the "is_off"
parameter is passed as false to pm_genpd_init() to inform it not to call
the power_on() callback, as it's unnecessary to perform the hardware
power-on procedure since the power domain is already on. Therefore, with
the call to clk_bulk_prepare_enable() by probe(), the system is in the
same operational state as when "is_off" is passed as true after the
power_on() callback execution:

 probe() -> is_off == true  -> clk_bulk_prepare_enable() called by power_on()
 probe() -> is_off == false -> clk_bulk_prepare_enable() called by probe()

Reaching the same logical and operational state, it follows that upon
driver removal, there is no need to perform different actions depending
on the power domain's on/off state during probing.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Link: https://lore.kernel.org/r/20240825143428.556439-2-dario.binacchi@amarulasolutions.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/pmdomain/imx/imx93-pd.c

index 44daecbe5cc3554f803155c4cfb1492485f39280..fb53a8e359bc7aaa6ba71656e21df16db0f83eb2 100644 (file)
@@ -90,9 +90,6 @@ static void imx93_pd_remove(struct platform_device *pdev)
        struct device *dev = &pdev->dev;
        struct device_node *np = dev->of_node;
 
-       if (!domain->init_off)
-               clk_bulk_disable_unprepare(domain->num_clks, domain->clks);
-
        of_genpd_del_provider(np);
        pm_genpd_remove(&domain->genpd);
 }