diff --git a/drivers/gpu/drm/omapdrm/dss/core.c b/drivers/gpu/drm/omapdrm/dss/core.c index 6ace3d5e44afaa3ba04fe3bfaecaa7971088cf14..db4419b3132765ec1e465b32b5a0a068db28a961 100644 --- a/drivers/gpu/drm/omapdrm/dss/core.c +++ b/drivers/gpu/drm/omapdrm/dss/core.c @@ -50,19 +50,6 @@ EXPORT_SYMBOL(omapdss_get_version); /* PLATFORM DEVICE */ -static void dss_disable_all_devices(void) -{ - struct omap_dss_device *dssdev = NULL; - - for_each_dss_dev(dssdev) { - if (!dssdev->driver) - continue; - - if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) - dssdev->driver->disable(dssdev); - } -} - static int __init omap_dss_probe(struct platform_device *pdev) { core.pdev = pdev; @@ -77,15 +64,8 @@ static int omap_dss_remove(struct platform_device *pdev) return 0; } -static void omap_dss_shutdown(struct platform_device *pdev) -{ - DSSDBG("shutdown\n"); - dss_disable_all_devices(); -} - static struct platform_driver omap_dss_driver = { .remove = omap_dss_remove, - .shutdown = omap_dss_shutdown, .driver = { .name = "omapdss", }, diff --git a/drivers/gpu/drm/omapdrm/dss/dss.c b/drivers/gpu/drm/omapdrm/dss/dss.c index e44b5077f140224479d7a083498cf946bd1152f7..3d6b1e8ec0c0823f2960b67d2f2b660c5a13a036 100644 --- a/drivers/gpu/drm/omapdrm/dss/dss.c +++ b/drivers/gpu/drm/omapdrm/dss/dss.c @@ -1380,6 +1380,21 @@ static int dss_remove(struct platform_device *pdev) return 0; } +static void dss_shutdown(struct platform_device *pdev) +{ + struct omap_dss_device *dssdev = NULL; + + DSSDBG("shutdown\n"); + + for_each_dss_dev(dssdev) { + if (!dssdev->driver) + continue; + + if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) + dssdev->driver->disable(dssdev); + } +} + static int dss_runtime_suspend(struct device *dev) { dss_save_context(); @@ -1419,6 +1434,7 @@ static const struct dev_pm_ops dss_pm_ops = { static struct platform_driver omap_dsshw_driver = { .probe = dss_probe, .remove = dss_remove, + .shutdown = dss_shutdown, .driver = { .name = "omapdss_dss", .pm = &dss_pm_ops,