summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/exynos
diff options
context:
space:
mode:
authorJoonyoung Shim <jy0922.shim@samsung.com>2012-04-23 19:35:48 +0900
committerInki Dae <inki.dae@samsung.com>2012-05-08 18:46:32 +0900
commitce80a2d1890063ff2d3b5beb6edac85a2f6c86c4 (patch)
tree29f1b3ca6b060d435776a95619fba6c4e5d09660 /drivers/gpu/drm/exynos
parent7ecd34e82ce8d9da0cd99541eac4eaf9dd7eb27e (diff)
drm/exynos: use platform_get_irq_byname for hdmi
The exynos hdmi supports two hdmi interrupts - external and internal, so use platform_get_irq_byname to distinguish their resources. 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')
-rw-r--r--drivers/gpu/drm/exynos/exynos_hdmi.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index 7365cc6ddec..e6a5e003560 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -2293,10 +2293,10 @@ static int __devinit hdmi_probe(struct platform_device *pdev)
hdata->hdmiphy_port = hdmi_hdmiphy;
- res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
- if (res == NULL) {
- DRM_ERROR("get interrupt resource failed.\n");
- ret = -ENXIO;
+ hdata->irq = platform_get_irq_byname(pdev, "internal_irq");
+ if (hdata->irq < 0) {
+ DRM_ERROR("failed to get platform irq\n");
+ ret = hdata->irq;
goto err_hdmiphy;
}
@@ -2311,13 +2311,12 @@ static int __devinit hdmi_probe(struct platform_device *pdev)
INIT_WORK(&hdata->hotplug_work, hdmi_hotplug_func);
/* register hpd interrupt */
- ret = request_irq(res->start, hdmi_irq_handler, 0, "drm_hdmi",
+ ret = request_irq(hdata->irq, hdmi_irq_handler, 0, "drm_hdmi",
drm_hdmi_ctx);
if (ret) {
DRM_ERROR("request interrupt failed.\n");
goto err_workqueue;
}
- hdata->irq = res->start;
/* register specific callbacks to common hdmi. */
exynos_hdmi_ops_register(&hdmi_ops);