diff options
| author | Jimmy Rubin <jimmy.rubin@stericsson.com> | 2011-09-06 08:41:31 +0200 |
|---|---|---|
| committer | Ulf Hansson <ulf.hansson@stericsson.com> | 2011-09-19 16:07:28 +0200 |
| commit | c30d3bf69bc4c7ee0047dce5f78beb071398bcd8 (patch) | |
| tree | dc2bebb4af298c4758c1c9b436d6101881ff9778 /drivers/video | |
| parent | 66b4b1130dfe68f8240b142f6c932827b31071cd (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.c | 18 |
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); |
