aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss/dispc-compat.c
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2012-10-10 07:03:11 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2012-12-07 10:05:56 -0500
commit549acbe7a3380dd3bd2ac71698549148ecc0d17e (patch)
treee4a01389256fafada273ad2637313fbe04b7fe32 /drivers/video/omap2/dss/dispc-compat.c
parentbb39813413db782cc77b94d55cb5d044f42079df (diff)
OMAPDSS: move omap_dispc_wait_for_irq_interruptible_timeout to dispc-compat.c
We have two functions to wait for a dispc interrupt: int omap_dispc_wait_for_irq_timeout(u32 irqmask, unsigned long timeout); int omap_dispc_wait_for_irq_interruptible_timeout(u32 irqmask, Of these, the former is not used at all, and can be removed. The latter is only used by the compat layer, and can be moved to the compat layer code. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/omap2/dss/dispc-compat.c')
-rw-r--r--drivers/video/omap2/dss/dispc-compat.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/drivers/video/omap2/dss/dispc-compat.c b/drivers/video/omap2/dss/dispc-compat.c
index cca38488ab27..24e1d5e974eb 100644
--- a/drivers/video/omap2/dss/dispc-compat.c
+++ b/drivers/video/omap2/dss/dispc-compat.c
@@ -205,3 +205,33 @@ void dispc_mgr_disable_sync(enum omap_channel channel)
205 WARN_ON(1); 205 WARN_ON(1);
206} 206}
207 207
208int omap_dispc_wait_for_irq_interruptible_timeout(u32 irqmask,
209 unsigned long timeout)
210{
211 void dispc_irq_wait_handler(void *data, u32 mask)
212 {
213 complete((struct completion *)data);
214 }
215
216 int r;
217 DECLARE_COMPLETION_ONSTACK(completion);
218
219 r = omap_dispc_register_isr(dispc_irq_wait_handler, &completion,
220 irqmask);
221
222 if (r)
223 return r;
224
225 timeout = wait_for_completion_interruptible_timeout(&completion,
226 timeout);
227
228 omap_dispc_unregister_isr(dispc_irq_wait_handler, &completion, irqmask);
229
230 if (timeout == 0)
231 return -ETIMEDOUT;
232
233 if (timeout == -ERESTARTSYS)
234 return -ERESTARTSYS;
235
236 return 0;
237}