aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/exynos/exynos_mixer.c
diff options
context:
space:
mode:
authorJoonyoung Shim <jy0922.shim@samsung.com>2012-04-23 06:35:51 -0400
committerInki Dae <inki.dae@samsung.com>2012-05-08 05:46:33 -0400
commitab27af85e3154380e65a293b893f79ea0416afdf (patch)
treeb79d19f72b53ea824857000d11e8eb7569dc4dd1 /drivers/gpu/drm/exynos/exynos_mixer.c
parentcf8fc4f10e2c5c5b6b60d6e79d61cc58afa5967d (diff)
drm/exynos: add PM functions for hdmi and mixer
This patch supports the PM for hdmi and mixer. Turn off hdmi and mixer when suspended, and when resume, will turn on them by hdmi hotplug detection if hdmi is attached. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_mixer.c')
-rw-r--r--drivers/gpu/drm/exynos/exynos_mixer.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c
index a29a9a8b2312..2f6727a4e768 100644
--- a/drivers/gpu/drm/exynos/exynos_mixer.c
+++ b/drivers/gpu/drm/exynos/exynos_mixer.c
@@ -1104,10 +1104,25 @@ static int mixer_remove(struct platform_device *pdev)
1104 return 0; 1104 return 0;
1105} 1105}
1106 1106
1107#ifdef CONFIG_PM_SLEEP
1108static int mixer_suspend(struct device *dev)
1109{
1110 struct exynos_drm_hdmi_context *drm_hdmi_ctx = get_mixer_context(dev);
1111 struct mixer_context *ctx = drm_hdmi_ctx->ctx;
1112
1113 mixer_poweroff(ctx);
1114
1115 return 0;
1116}
1117#endif
1118
1119static SIMPLE_DEV_PM_OPS(mixer_pm_ops, mixer_suspend, NULL);
1120
1107struct platform_driver mixer_driver = { 1121struct platform_driver mixer_driver = {
1108 .driver = { 1122 .driver = {
1109 .name = "s5p-mixer", 1123 .name = "s5p-mixer",
1110 .owner = THIS_MODULE, 1124 .owner = THIS_MODULE,
1125 .pm = &mixer_pm_ops,
1111 }, 1126 },
1112 .probe = mixer_probe, 1127 .probe = mixer_probe,
1113 .remove = __devexit_p(mixer_remove), 1128 .remove = __devexit_p(mixer_remove),