Browse Source

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>
Joonyoung Shim 13 years ago
parent
commit
ce80a2d189
1 changed files with 5 additions and 6 deletions
  1. 5 6
      drivers/gpu/drm/exynos/exynos_hdmi.c

+ 5 - 6
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);