mirror of
https://github.com/torvalds/linux.git
synced 2024-12-13 06:32:50 +00:00
video: exynos_dp: Reset and initialize DP before requesting irq
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>
This commit is contained in:
parent
c30ffb904c
commit
22ce19cb43
@ -1094,13 +1094,6 @@ static int __devinit exynos_dp_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
INIT_WORK(&dp->hotplug_work, exynos_dp_hotplug);
|
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;
|
dp->video_info = pdata->video_info;
|
||||||
|
|
||||||
if (pdev->dev.of_node) {
|
if (pdev->dev.of_node) {
|
||||||
@ -1113,6 +1106,13 @@ static int __devinit exynos_dp_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
exynos_dp_init_dp(dp);
|
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);
|
platform_set_drvdata(pdev, dp);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user