summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorJimmy Rubin <jimmy.rubin@stericsson.com>2011-09-06 08:41:31 +0200
committerUlf Hansson <ulf.hansson@stericsson.com>2011-09-19 16:07:28 +0200
commitc30d3bf69bc4c7ee0047dce5f78beb071398bcd8 (patch)
treedc2bebb4af298c4758c1c9b436d6101881ff9778 /drivers/video
parent66b4b1130dfe68f8240b142f6c932827b31071cd (diff)
video: mcde: request irq after init_waitqueue
The irq_handler uses the waitqueue to wake a thread when a vcomp arrives. This waitqueue must be initialized before the irq is requested in probe. ST-Ericsson ID: 355171 ST-Ericsson FOSS-OUT ID: Trivial ST-Ericsson Linux next: NA Signed-off-by: Jimmy Rubin <jimmy.rubin@stericsson.com> Change-Id: I5ac187e04bffb779dac17f78e5599ba5e75b0c13
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/mcde/mcde_hw.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/video/mcde/mcde_hw.c b/drivers/video/mcde/mcde_hw.c
index 9ad6c8074fe..9b009259af9 100644
--- a/drivers/video/mcde/mcde_hw.c
+++ b/drivers/video/mcde/mcde_hw.c
@@ -3493,14 +3493,6 @@ static int __devinit mcde_probe(struct platform_device *pdev)
update_mcde_registers();
mcde_is_enabled = true;
- ret = request_irq(mcde_irq, mcde_irq_handler, 0, "mcde",
- &mcde_dev->dev);
- if (ret) {
- dev_dbg(&mcde_dev->dev, "Failed to request irq (irq=%d)\n",
- mcde_irq);
- goto failed_request_irq;
- }
-
schedule_delayed_work(&hw_timeout_work,
msecs_to_jiffies(MCDE_SLEEP_WATCHDOG));
@@ -3578,10 +3570,18 @@ static int __devinit mcde_probe(struct platform_device *pdev)
channels[i].dsi_te_timer.data = i;
}
+ ret = request_irq(mcde_irq, mcde_irq_handler, 0, "mcde",
+ &mcde_dev->dev);
+ if (ret) {
+ dev_dbg(&mcde_dev->dev, "Failed to request irq (irq=%d)\n",
+ mcde_irq);
+ goto failed_request_irq;
+ }
+
return 0;
-failed_hardware_version:
failed_request_irq:
+failed_hardware_version:
disable_mcde_hw(true);
failed_enable_clocks:
remove_clocks_and_power(pdev);