[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c2b39c36-a2f4-282e-1145-c61cfa18c6ce@samsung.com>
Date: Thu, 21 Mar 2019 18:19:20 +0900
From: Chanwoo Choi <cw00.choi@...sung.com>
To: Marek Szyprowski <m.szyprowski@...sung.com>,
linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org,
linux-samsung-soc@...r.kernel.org
Cc: MyungJoo Ham <myungjoo.ham@...sung.com>,
Krzysztof Kozlowski <krzk@...nel.org>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>,
Lukasz Luba <l.luba@...tner.samsung.com>,
Markus Reichl <m.reichl@...etechno.de>
Subject: Re: [PATCH] PM / devfreq: exynos-bus: Suspend all devices on system
shutdown
Hi Marek,
On 19. 3. 21. 오후 6:01, Marek Szyprowski wrote:
> Force all Exynos buses to safe operation points before doing the system
> reboot operation. There are board on which some aggressive power saving
> operation points are behind the capabilities of the bootloader to properly
> reset the hardware and boot the board. This way one can avoid board crash
> early after reboot.
>
> This fixes reboot issue on OdroidU3 board both with eMMC and SD boot.
>
> Reported-by: Markus Reichl <m.reichl@...etechno.de>
> Signed-off-by: Marek Szyprowski <m.szyprowski@...sung.com>
> ---
> This is an alternative to https://patchwork.kernel.org/patch/10781433/
> limited only to Exynos-bus driver.
> ---
> drivers/devfreq/exynos-bus.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/devfreq/exynos-bus.c b/drivers/devfreq/exynos-bus.c
> index c25658b26598..486cc5b422f1 100644
> --- a/drivers/devfreq/exynos-bus.c
> +++ b/drivers/devfreq/exynos-bus.c
> @@ -514,6 +514,13 @@ static int exynos_bus_probe(struct platform_device *pdev)
> return ret;
> }
>
> +static void exynos_bus_shutdown(struct platform_device *pdev)
> +{
> + struct exynos_bus *bus = dev_get_drvdata(&pdev->dev);
> +
> + devfreq_suspend_device(bus->devfreq);
> +}
> +
> #ifdef CONFIG_PM_SLEEP
> static int exynos_bus_resume(struct device *dev)
> {
> @@ -556,6 +563,7 @@ MODULE_DEVICE_TABLE(of, exynos_bus_of_match);
>
> static struct platform_driver exynos_bus_platdrv = {
> .probe = exynos_bus_probe,
> + .shutdown = exynos_bus_shutdown,
> .driver = {
> .name = "exynos-bus",
> .pm = &exynos_bus_pm,
>
Actually, I already agreed the previous patch.
Also, it looks good to me.
Acked-by: Chanwoo Choi <cw00.choi@...sung.com>
--
Best Regards,
Chanwoo Choi
Samsung Electronics
Powered by blists - more mailing lists