Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 307491
b: refs/heads/master
c: ab27af8
h: refs/heads/master
i:
  307489: 65150cf
  307487: 350138b
v: v3
  • Loading branch information
Joonyoung Shim authored and Inki Dae committed May 8, 2012
1 parent cc8a9dc commit 8424fea
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: cf8fc4f10e2c5c5b6b60d6e79d61cc58afa5967d
refs/heads/master: ab27af85e3154380e65a293b893f79ea0416afdf
32 changes: 32 additions & 0 deletions trunk/drivers/gpu/drm/exynos/exynos_hdmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -2367,11 +2367,43 @@ static int __devexit hdmi_remove(struct platform_device *pdev)
return 0;
}

#ifdef CONFIG_PM_SLEEP
static int hdmi_suspend(struct device *dev)
{
struct exynos_drm_hdmi_context *ctx = get_hdmi_context(dev);
struct hdmi_context *hdata = ctx->ctx;

disable_irq(hdata->internal_irq);
disable_irq(hdata->external_irq);

hdata->hpd = false;
if (ctx->drm_dev)
drm_helper_hpd_irq_event(ctx->drm_dev);

hdmi_poweroff(hdata);

return 0;
}

static int hdmi_resume(struct device *dev)
{
struct exynos_drm_hdmi_context *ctx = get_hdmi_context(dev);
struct hdmi_context *hdata = ctx->ctx;

enable_irq(hdata->external_irq);
enable_irq(hdata->internal_irq);
return 0;
}
#endif

static SIMPLE_DEV_PM_OPS(hdmi_pm_ops, hdmi_suspend, hdmi_resume);

struct platform_driver hdmi_driver = {
.probe = hdmi_probe,
.remove = __devexit_p(hdmi_remove),
.driver = {
.name = "exynos4-hdmi",
.owner = THIS_MODULE,
.pm = &hdmi_pm_ops,
},
};
15 changes: 15 additions & 0 deletions trunk/drivers/gpu/drm/exynos/exynos_mixer.c
Original file line number Diff line number Diff line change
Expand Up @@ -1104,10 +1104,25 @@ static int mixer_remove(struct platform_device *pdev)
return 0;
}

#ifdef CONFIG_PM_SLEEP
static int mixer_suspend(struct device *dev)
{
struct exynos_drm_hdmi_context *drm_hdmi_ctx = get_mixer_context(dev);
struct mixer_context *ctx = drm_hdmi_ctx->ctx;

mixer_poweroff(ctx);

return 0;
}
#endif

static SIMPLE_DEV_PM_OPS(mixer_pm_ops, mixer_suspend, NULL);

struct platform_driver mixer_driver = {
.driver = {
.name = "s5p-mixer",
.owner = THIS_MODULE,
.pm = &mixer_pm_ops,
},
.probe = mixer_probe,
.remove = __devexit_p(mixer_remove),
Expand Down

0 comments on commit 8424fea

Please sign in to comment.