From: Grygorii Strashko <grygorii.stras...@linaro.org>

Setting a dev_pm_ops resume callback but not a set of hibernation
handler means that pm function will not be called upon hibernation.

Fix this by using SIMPLE_DEV_PM_OPS, which appropriately assigns the
suspend and hibernation handlers and move omap_dmm_resume under
CONFIG_PM_SLEEP to avoid build warnings.

Signed-off-by: Grygorii Strashko <grygorii.strashko at linaro.org>
Reviewed-by: Rob Clark <robdclark at gmail.com>
[tomi valkeinen: add missing 'static']
Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ti.com>
---
 drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c 
b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
index 20db850a1656..042038e8a662 100644
--- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
+++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
@@ -965,7 +965,7 @@ error:
 }
 #endif

-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
 static int omap_dmm_resume(struct device *dev)
 {
        struct tcm_area area;
@@ -989,12 +989,10 @@ static int omap_dmm_resume(struct device *dev)

        return 0;
 }
-
-static const struct dev_pm_ops omap_dmm_pm_ops = {
-       .resume = omap_dmm_resume,
-};
 #endif

+static SIMPLE_DEV_PM_OPS(omap_dmm_pm_ops, NULL, omap_dmm_resume);
+
 #if defined(CONFIG_OF)
 static const struct dmm_platform_data dmm_omap4_platform_data = {
        .cpu_cache_flags = OMAP_BO_WC,
@@ -1024,9 +1022,7 @@ struct platform_driver omap_dmm_driver = {
                .owner = THIS_MODULE,
                .name = DMM_DRIVER_NAME,
                .of_match_table = of_match_ptr(dmm_of_match),
-#ifdef CONFIG_PM
                .pm = &omap_dmm_pm_ops,
-#endif
        },
 };

-- 
2.3.3

Reply via email to