From 5a987df010ee438d4697ec38828a2f73beee1cf5 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Wed, 10 Oct 2012 14:03:11 +0300 Subject: [PATCH] --- yaml --- r: 344685 b: refs/heads/master c: 549acbe7a3380dd3bd2ac71698549148ecc0d17e h: refs/heads/master i: 344683: 019140b258017eccfacf189096d231dd7e0489e2 v: v3 --- [refs] | 2 +- trunk/drivers/video/omap2/dss/dispc-compat.c | 30 +++++++++++ trunk/drivers/video/omap2/dss/dispc-compat.h | 3 ++ trunk/drivers/video/omap2/dss/dispc.c | 57 -------------------- trunk/include/video/omapdss.h | 4 -- 5 files changed, 34 insertions(+), 62 deletions(-) diff --git a/[refs] b/[refs] index a080e6cea0ae..7769f48bdd04 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bb39813413db782cc77b94d55cb5d044f42079df +refs/heads/master: 549acbe7a3380dd3bd2ac71698549148ecc0d17e diff --git a/trunk/drivers/video/omap2/dss/dispc-compat.c b/trunk/drivers/video/omap2/dss/dispc-compat.c index cca38488ab27..24e1d5e974eb 100644 --- a/trunk/drivers/video/omap2/dss/dispc-compat.c +++ b/trunk/drivers/video/omap2/dss/dispc-compat.c @@ -205,3 +205,33 @@ void dispc_mgr_disable_sync(enum omap_channel channel) WARN_ON(1); } +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; +} diff --git a/trunk/drivers/video/omap2/dss/dispc-compat.h b/trunk/drivers/video/omap2/dss/dispc-compat.h index 2d4f5e77a7bf..8322d43d28c3 100644 --- a/trunk/drivers/video/omap2/dss/dispc-compat.h +++ b/trunk/drivers/video/omap2/dss/dispc-compat.h @@ -21,4 +21,7 @@ void dispc_mgr_enable_sync(enum omap_channel channel); void dispc_mgr_disable_sync(enum omap_channel channel); +int omap_dispc_wait_for_irq_interruptible_timeout(u32 irqmask, + unsigned long timeout); + #endif diff --git a/trunk/drivers/video/omap2/dss/dispc.c b/trunk/drivers/video/omap2/dss/dispc.c index 73972e99ec63..f7c734214022 100644 --- a/trunk/drivers/video/omap2/dss/dispc.c +++ b/trunk/drivers/video/omap2/dss/dispc.c @@ -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; diff --git a/trunk/include/video/omapdss.h b/trunk/include/video/omapdss.h index a9402362d817..823a07b00fe5 100644 --- a/trunk/include/video/omapdss.h +++ b/trunk/include/video/omapdss.h @@ -775,10 +775,6 @@ typedef void (*omap_dispc_isr_t) (void *arg, u32 mask); int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask); int omap_dispc_unregister_isr(omap_dispc_isr_t isr, void *arg, u32 mask); -int omap_dispc_wait_for_irq_timeout(u32 irqmask, unsigned long timeout); -int omap_dispc_wait_for_irq_interruptible_timeout(u32 irqmask, - unsigned long timeout); - #define to_dss_driver(x) container_of((x), struct omap_dss_driver, driver) #define to_dss_device(x) container_of((x), struct omap_dss_device, dev)