diff options
author | Paul Cercueil <paul@crapouillou.net> | 2022-11-29 19:17:16 +0000 |
---|---|---|
committer | Paul Cercueil <paul@crapouillou.net> | 2022-12-12 13:12:01 +0000 |
commit | 1d9e6664addff479f9ed4aeacd7c667678889f3b (patch) | |
tree | 6bdd439e44e5402507c272b0c032ac52ecacb0b0 /drivers/gpu/drm/exynos/exynos_drm_scaler.c | |
parent | 196c92263f5525a644e8e6a0c9df5cc2da9e2b16 (diff) |
drm: exynos: Remove #ifdef guards for PM related functions
Use the DEFINE_RUNTIME_DEV_PM_OPS(), SYSTEM_SLEEP_PM_OPS(),
RUNTIME_PM_OPS() and pm_ptr() macros to handle the runtime and suspend
PM callbacks.
These macros allow the suspend and resume functions to be automatically
dropped by the compiler when CONFIG_PM is disabled, without having
to use #ifdef guards.
This has the advantage of always compiling these functions in,
independently of any Kconfig option. Thanks to that, bugs and other
regressions are subsequently easier to catch.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Acked-by: Inki Dae <inki.dae@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221129191733.137897-10-paul@crapouillou.net
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_scaler.c')
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_scaler.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_scaler.c b/drivers/gpu/drm/exynos/exynos_drm_scaler.c index 3c049fb658a3..20608e9780ce 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_scaler.c +++ b/drivers/gpu/drm/exynos/exynos_drm_scaler.c @@ -550,8 +550,6 @@ static int scaler_remove(struct platform_device *pdev) return 0; } -#ifdef CONFIG_PM - static int clk_disable_unprepare_wrapper(struct clk *clk) { clk_disable_unprepare(clk); @@ -584,13 +582,9 @@ static int scaler_runtime_resume(struct device *dev) return scaler_clk_ctrl(scaler, true); } -#endif -static const struct dev_pm_ops scaler_pm_ops = { - SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, - pm_runtime_force_resume) - SET_RUNTIME_PM_OPS(scaler_runtime_suspend, scaler_runtime_resume, NULL) -}; +static DEFINE_RUNTIME_DEV_PM_OPS(scaler_pm_ops, scaler_runtime_suspend, + scaler_runtime_resume, NULL); static const struct drm_exynos_ipp_limit scaler_5420_two_pixel_hv_limits[] = { { IPP_SIZE_LIMIT(BUFFER, .h = { 16, SZ_8K }, .v = { 16, SZ_8K }) }, @@ -731,7 +725,7 @@ struct platform_driver scaler_driver = { .driver = { .name = "exynos-scaler", .owner = THIS_MODULE, - .pm = &scaler_pm_ops, + .pm = pm_ptr(&scaler_pm_ops), .of_match_table = exynos_scaler_match, }, }; |