Skip to content

Commit

Permalink
video: exynos_dp: Reset and initialize DP before requesting irq
Browse files Browse the repository at this point in the history
If DP is not reset properly before kernel bootup(in bootloader code),
there can be few pending interrupts, and sometimes they invoke
DP irq handler as soon as the irq handler is registered in DP probe.
So, we make the DP driver more robust by resetting and
initializing DP at the earliest and then registering the irq handler.

Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
  • Loading branch information
Ajay Kumar authored and Jingoo Han committed Nov 29, 2012
1 parent c30ffb9 commit 22ce19c
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions drivers/video/exynos/exynos_dp_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1094,13 +1094,6 @@ static int __devinit exynos_dp_probe(struct platform_device *pdev)

INIT_WORK(&dp->hotplug_work, exynos_dp_hotplug);

ret = devm_request_irq(&pdev->dev, dp->irq, exynos_dp_irq_handler, 0,
"exynos-dp", dp);
if (ret) {
dev_err(&pdev->dev, "failed to request irq\n");
return ret;
}

dp->video_info = pdata->video_info;

if (pdev->dev.of_node) {
Expand All @@ -1113,6 +1106,13 @@ static int __devinit exynos_dp_probe(struct platform_device *pdev)

exynos_dp_init_dp(dp);

ret = devm_request_irq(&pdev->dev, dp->irq, exynos_dp_irq_handler, 0,
"exynos-dp", dp);
if (ret) {
dev_err(&pdev->dev, "failed to request irq\n");
return ret;
}

platform_set_drvdata(pdev, dp);

return 0;
Expand Down

0 comments on commit 22ce19c

Please sign in to comment.