|
@@ -3750,63 +3750,6 @@ static void dispc_error_worker(struct work_struct *work)
|
|
|
dispc_runtime_put();
|
|
|
}
|
|
|
|
|
|
-int omap_dispc_wait_for_irq_timeout(u32 irqmask, unsigned long timeout)
|
|
|
-{
|
|
|
- void dispc_irq_wait_handler(void *data, u32 mask)
|
|
|
- {
|
|
|
- complete((struct completion *)data);
|
|
|
- }
|
|
|
-
|
|
|
- int r;
|
|
|
- DECLARE_COMPLETION_ONSTACK(completion);
|
|
|
-
|
|
|
- r = omap_dispc_register_isr(dispc_irq_wait_handler, &completion,
|
|
|
- irqmask);
|
|
|
-
|
|
|
- if (r)
|
|
|
- return r;
|
|
|
-
|
|
|
- timeout = wait_for_completion_timeout(&completion, timeout);
|
|
|
-
|
|
|
- omap_dispc_unregister_isr(dispc_irq_wait_handler, &completion, irqmask);
|
|
|
-
|
|
|
- if (timeout == 0)
|
|
|
- return -ETIMEDOUT;
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
-int omap_dispc_wait_for_irq_interruptible_timeout(u32 irqmask,
|
|
|
- unsigned long timeout)
|
|
|
-{
|
|
|
- void dispc_irq_wait_handler(void *data, u32 mask)
|
|
|
- {
|
|
|
- complete((struct completion *)data);
|
|
|
- }
|
|
|
-
|
|
|
- int r;
|
|
|
- DECLARE_COMPLETION_ONSTACK(completion);
|
|
|
-
|
|
|
- r = omap_dispc_register_isr(dispc_irq_wait_handler, &completion,
|
|
|
- irqmask);
|
|
|
-
|
|
|
- if (r)
|
|
|
- return r;
|
|
|
-
|
|
|
- timeout = wait_for_completion_interruptible_timeout(&completion,
|
|
|
- timeout);
|
|
|
-
|
|
|
- omap_dispc_unregister_isr(dispc_irq_wait_handler, &completion, irqmask);
|
|
|
-
|
|
|
- if (timeout == 0)
|
|
|
- return -ETIMEDOUT;
|
|
|
-
|
|
|
- if (timeout == -ERESTARTSYS)
|
|
|
- return -ERESTARTSYS;
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
static void _omap_dispc_initialize_irq(void)
|
|
|
{
|
|
|
unsigned long flags;
|