summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2011-01-21 05:30:39 +0000
committerShaun Ruffell <sruffell@digium.com>2011-01-21 05:30:39 +0000
commit774376d6d6093914ada1cb7f1af3b091b314cd4f (patch)
treec759c96297e5f212074344dc1484c185ef7e180c
parentb7dac9478e6b3a1bd0a9467b23a2a3fd9e591587 (diff)
Remove mutex emulation
Using semaphores as mutexes was removed from the kernel in 4882720b267b. Just use straight semaphores now. 'DECLARE_MUTEX()' -> 'DEFINE_SEMAPHORE()' and 'init_MUTEX()' -> 'sema_init()'. Signed-off-by: Shaun Ruffell <sruffell@digium.com> LKML-Reference: <20100907125057.562399240@linutronix.de> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9464 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9676 a0bf4364-ded3-4de4-8d8a-66a801d63aff
-rw-r--r--drivers/dahdi/hpec/dahdi_echocan_hpec.c2
-rw-r--r--drivers/dahdi/voicebus/voicebus.c2
-rw-r--r--drivers/dahdi/wctc4xxp/base.c2
-rw-r--r--drivers/dahdi/wctdm24xxp/base.c4
-rw-r--r--drivers/dahdi/wctdm24xxp/xhfc.c4
-rw-r--r--drivers/dahdi/xpp/xbus-core.c2
-rw-r--r--drivers/dahdi/xpp/xpp_usb.c4
-rw-r--r--include/dahdi/kernel.h5
8 files changed, 15 insertions, 10 deletions
diff --git a/drivers/dahdi/hpec/dahdi_echocan_hpec.c b/drivers/dahdi/hpec/dahdi_echocan_hpec.c
index b6d49df..2f6424e 100644
--- a/drivers/dahdi/hpec/dahdi_echocan_hpec.c
+++ b/drivers/dahdi/hpec/dahdi_echocan_hpec.c
@@ -115,7 +115,7 @@ static void echo_can_process(struct dahdi_echocan_state *ec, short *isig, const
hpec_channel_update(pvt->hpec, isig, iref);
}
-DECLARE_MUTEX(license_lock);
+DEFINE_SEMAPHORE(license_lock);
static int echo_can_create(struct dahdi_chan *chan, struct dahdi_echocanparams *ecp,
struct dahdi_echocanparam *p, struct dahdi_echocan_state **ec)
diff --git a/drivers/dahdi/voicebus/voicebus.c b/drivers/dahdi/voicebus/voicebus.c
index d133006..702f565 100644
--- a/drivers/dahdi/voicebus/voicebus.c
+++ b/drivers/dahdi/voicebus/voicebus.c
@@ -1115,7 +1115,7 @@ static void vb_stop_txrx_processors(struct voicebus *vb)
*/
void voicebus_stop(struct voicebus *vb)
{
- static DECLARE_MUTEX(stop);
+ static DEFINE_SEMAPHORE(stop);
down(&stop);
diff --git a/drivers/dahdi/wctc4xxp/base.c b/drivers/dahdi/wctc4xxp/base.c
index d5137b1..dea2ca9 100644
--- a/drivers/dahdi/wctc4xxp/base.c
+++ b/drivers/dahdi/wctc4xxp/base.c
@@ -3443,7 +3443,7 @@ wctc4xxp_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
return -EIO;
}
- init_MUTEX(&wc->chansem);
+ sema_init(&wc->chansem, 1);
spin_lock_init(&wc->reglock);
spin_lock_init(&wc->cmd_list_lock);
spin_lock_init(&wc->rx_list_lock);
diff --git a/drivers/dahdi/wctdm24xxp/base.c b/drivers/dahdi/wctdm24xxp/base.c
index f3ec832..5b463d9 100644
--- a/drivers/dahdi/wctdm24xxp/base.c
+++ b/drivers/dahdi/wctdm24xxp/base.c
@@ -207,7 +207,7 @@ static inline bool is_hx8(const struct wctdm *wc)
}
struct wctdm *ifaces[WC_MAX_IFACES];
-DECLARE_MUTEX(ifacelock);
+DEFINE_SEMAPHORE(ifacelock);
static void wctdm_release(struct wctdm *wc);
@@ -4921,7 +4921,7 @@ __wctdm_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
/* This is to insure that the analog span is given lowest priority */
wc->oldsync = -1;
- init_MUTEX(&wc->syncsem);
+ sema_init(&wc->syncsem, 1);
INIT_LIST_HEAD(&wc->frame_list);
spin_lock_init(&wc->frame_list_lock);
diff --git a/drivers/dahdi/wctdm24xxp/xhfc.c b/drivers/dahdi/wctdm24xxp/xhfc.c
index 00be877..ee227e0 100644
--- a/drivers/dahdi/wctdm24xxp/xhfc.c
+++ b/drivers/dahdi/wctdm24xxp/xhfc.c
@@ -2576,8 +2576,8 @@ static int b400m_probe(struct wctdm *wc, int modpos)
}
spin_lock_init(&b4->reglock);
- init_MUTEX(&b4->regsem);
- init_MUTEX(&b4->fifosem);
+ sema_init(&b4->regsem, 1);
+ sema_init(&b4->fifosem, 1);
for (x = 0; x < 4; x++) {
fasthdlc_init(&b4->spans[x].rxhdlc, FASTHDLC_MODE_16);
diff --git a/drivers/dahdi/xpp/xbus-core.c b/drivers/dahdi/xpp/xbus-core.c
index 144d565..542d578 100644
--- a/drivers/dahdi/xpp/xbus-core.c
+++ b/drivers/dahdi/xpp/xbus-core.c
@@ -1165,7 +1165,7 @@ static void worker_init(xbus_t *xbus)
INIT_LIST_HEAD(&worker->card_list);
init_waitqueue_head(&worker->wait_for_xpd_initialization);
worker->wq = NULL;
- init_MUTEX(&xbus->worker.running_initialization);
+ sema_init(&xbus->worker.running_initialization, 1);
}
/*
diff --git a/drivers/dahdi/xpp/xpp_usb.c b/drivers/dahdi/xpp/xpp_usb.c
index 40e5f9e..83fba83 100644
--- a/drivers/dahdi/xpp/xpp_usb.c
+++ b/drivers/dahdi/xpp/xpp_usb.c
@@ -248,7 +248,7 @@ static unsigned bus_count = 0;
/* prevent races between open() and disconnect() */
-static DECLARE_MUTEX (disconnect_sem);
+static DEFINE_SEMAPHORE(disconnect_sem);
/*
* AsteriskNow kernel has backported the "lean" callback from 2.6.20
@@ -690,7 +690,7 @@ static int xusb_probe(struct usb_interface *interface, const struct usb_device_i
retval = -ENOMEM;
goto probe_failed;
}
- init_MUTEX (&xusb->sem);
+ sema_init(&xusb->sem, 1);
atomic_set(&xusb->pending_writes, 0);
atomic_set(&xusb->pending_reads, 0);
atomic_set(&xusb->pcm_tx_drops, 0);
diff --git a/include/dahdi/kernel.h b/include/dahdi/kernel.h
index 6df5294..1baea8f 100644
--- a/include/dahdi/kernel.h
+++ b/include/dahdi/kernel.h
@@ -1261,6 +1261,11 @@ wait_for_completion_timeout(struct completion *x, unsigned long timeout)
#endif /* 2.6.26 */
#endif /* 2.6.31 */
+#ifndef DEFINE_SEMAPHORE
+#define DEFINE_SEMAPHORE(name) \
+ struct semaphore name = __SEMAPHORE_INITIALIZER(name, 1)
+#endif
+
#ifndef DMA_BIT_MASK
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
#endif