aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/exynos/exynos_hdmi.c
diff options
context:
space:
mode:
authorJoonyoung Shim <jy0922.shim@samsung.com>2012-04-23 06:35:48 -0400
committerInki Dae <inki.dae@samsung.com>2012-05-08 05:46:32 -0400
commitce80a2d1890063ff2d3b5beb6edac85a2f6c86c4 (patch)
tree29f1b3ca6b060d435776a95619fba6c4e5d09660 /drivers/gpu/drm/exynos/exynos_hdmi.c
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/exynos_hdmi.c')
-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 7365cc6ddec7..e6a5e0035609 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)
2293 2293
2294 hdata->hdmiphy_port = hdmi_hdmiphy; 2294 hdata->hdmiphy_port = hdmi_hdmiphy;
2295 2295
2296 res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); 2296 hdata->irq = platform_get_irq_byname(pdev, "internal_irq");
2297 if (res == NULL) { 2297 if (hdata->irq < 0) {
2298 DRM_ERROR("get interrupt resource failed.\n"); 2298 DRM_ERROR("failed to get platform irq\n");
2299 ret = -ENXIO; 2299 ret = hdata->irq;
2300 goto err_hdmiphy; 2300 goto err_hdmiphy;
2301 } 2301 }
2302 2302
@@ -2311,13 +2311,12 @@ static int __devinit hdmi_probe(struct platform_device *pdev)
2311 INIT_WORK(&hdata->hotplug_work, hdmi_hotplug_func); 2311 INIT_WORK(&hdata->hotplug_work, hdmi_hotplug_func);
2312 2312
2313 /* register hpd interrupt */ 2313 /* register hpd interrupt */
2314 ret = request_irq(res->start, hdmi_irq_handler, 0, "drm_hdmi", 2314 ret = request_irq(hdata->irq, hdmi_irq_handler, 0, "drm_hdmi",
2315 drm_hdmi_ctx); 2315 drm_hdmi_ctx);
2316 if (ret) { 2316 if (ret) {
2317 DRM_ERROR("request interrupt failed.\n"); 2317 DRM_ERROR("request interrupt failed.\n");
2318 goto err_workqueue; 2318 goto err_workqueue;
2319 } 2319 }
2320 hdata->irq = res->start;
2321 2320
2322 /* register specific callbacks to common hdmi. */ 2321 /* register specific callbacks to common hdmi. */
2323 exynos_hdmi_ops_register(&hdmi_ops); 2322 exynos_hdmi_ops_register(&hdmi_ops);