From e4bd3df20e24cc004f0a61a041c3fd36d4c7b4cc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Arkadiusz=20Mi=C5=9Bkiewicz?= Date: Wed, 26 Jan 2011 08:37:06 +0000 Subject: [PATCH] - rel 13; fix build on 2.6.37 Changed files: dahdi-2.4.0-linux-2.6.37.patch -> 1.1 dahdi-linux.spec -> 1.57 --- dahdi-2.4.0-linux-2.6.37.patch | 92 ++++++++++++++++++++++++++++++++++ dahdi-linux.spec | 5 +- 2 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 dahdi-2.4.0-linux-2.6.37.patch diff --git a/dahdi-2.4.0-linux-2.6.37.patch b/dahdi-2.4.0-linux-2.6.37.patch new file mode 100644 index 0000000..65dbc25 --- /dev/null +++ b/dahdi-2.4.0-linux-2.6.37.patch @@ -0,0 +1,92 @@ +diff -Naurp dahdi-linux-2.4.0.orig/drivers/dahdi/voicebus/voicebus.c dahdi-linux-2.4.0/drivers/dahdi/voicebus/voicebus.c +--- dahdi-linux-2.4.0.orig/drivers/dahdi/voicebus/voicebus.c 2010-08-17 13:53:18.000000000 +0200 ++++ dahdi-linux-2.4.0/drivers/dahdi/voicebus/voicebus.c 2010-11-01 22:01:57.382883648 +0100 +@@ -1120,7 +1120,7 @@ static void vb_stop_txrx_processors(stru + */ + void voicebus_stop(struct voicebus *vb) + { +- static DECLARE_MUTEX(stop); ++ static DEFINE_SEMAPHORE(stop); + + down(&stop); + +diff -Naurp dahdi-linux-2.4.0.orig/drivers/dahdi/wctc4xxp/base.c dahdi-linux-2.4.0/drivers/dahdi/wctc4xxp/base.c +--- dahdi-linux-2.4.0.orig/drivers/dahdi/wctc4xxp/base.c 2010-07-28 17:32:03.000000000 +0200 ++++ dahdi-linux-2.4.0/drivers/dahdi/wctc4xxp/base.c 2010-11-01 22:01:57.366885577 +0100 +@@ -3443,7 +3443,7 @@ wctc4xxp_init_one(struct pci_dev *pdev, + 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 -Naurp dahdi-linux-2.4.0.orig/drivers/dahdi/wctdm24xxp/base.c dahdi-linux-2.4.0/drivers/dahdi/wctdm24xxp/base.c +--- dahdi-linux-2.4.0.orig/drivers/dahdi/wctdm24xxp/base.c 2010-08-19 20:03:25.000000000 +0200 ++++ dahdi-linux-2.4.0/drivers/dahdi/wctdm24xxp/base.c 2010-11-01 22:01:57.395882083 +0100 +@@ -207,7 +207,7 @@ static inline bool is_hx8(const struct w + } + + struct wctdm *ifaces[WC_MAX_IFACES]; +-DECLARE_MUTEX(ifacelock); ++DEFINE_SEMAPHORE(ifacelock); + + static void wctdm_release(struct wctdm *wc); + +@@ -4917,7 +4917,7 @@ __wctdm_init_one(struct pci_dev *pdev, c + + /* 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 -Naurp dahdi-linux-2.4.0.orig/drivers/dahdi/wctdm24xxp/xhfc.c dahdi-linux-2.4.0/drivers/dahdi/wctdm24xxp/xhfc.c +--- dahdi-linux-2.4.0.orig/drivers/dahdi/wctdm24xxp/xhfc.c 2010-08-13 20:36:15.000000000 +0200 ++++ dahdi-linux-2.4.0/drivers/dahdi/wctdm24xxp/xhfc.c 2010-11-01 22:01:57.396881962 +0100 +@@ -2576,8 +2576,8 @@ static int b400m_probe(struct wctdm *wc, + } + + 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 -Naurp dahdi-linux-2.4.0.orig/drivers/dahdi/xpp/xbus-core.c dahdi-linux-2.4.0/drivers/dahdi/xpp/xbus-core.c +--- dahdi-linux-2.4.0.orig/drivers/dahdi/xpp/xbus-core.c 2010-07-13 21:38:13.000000000 +0200 ++++ dahdi-linux-2.4.0/drivers/dahdi/xpp/xbus-core.c 2010-11-01 22:01:57.243900400 +0100 +@@ -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 -Naurp dahdi-linux-2.4.0.orig/drivers/dahdi/xpp/xpp_usb.c dahdi-linux-2.4.0/drivers/dahdi/xpp/xpp_usb.c +--- dahdi-linux-2.4.0.orig/drivers/dahdi/xpp/xpp_usb.c 2010-07-13 10:33:00.000000000 +0200 ++++ dahdi-linux-2.4.0/drivers/dahdi/xpp/xpp_usb.c 2010-11-01 22:01:57.257898713 +0100 +@@ -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_interfa + 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/dahdi-linux.spec b/dahdi-linux.spec index 1134c37..4cb75cb 100644 --- a/dahdi-linux.spec +++ b/dahdi-linux.spec @@ -32,7 +32,7 @@ %undefine with_dist_kernel %endif -%define rel 12 +%define rel 13 %define pname dahdi-linux %define FIRMWARE_URL http://downloads.digium.com/pub/telephony/firmware/releases Summary: DAHDI telephony device support @@ -56,6 +56,8 @@ Source7: %{FIRMWARE_URL}/dahdi-fw-hx8-2.06.tar.gz # Source7-md5: a7f3886942bb3e9fed349a41b3390c9f Patch0: %{pname}-dummy.patch Patch1: %{pname}-build.patch +# http://oss.axsentis.de/people/stkn/openzap/dahdi-2.4.0-linux-2.6.37.patch +Patch2: dahdi-2.4.0-linux-2.6.37.patch URL: http://www.asterisk.org/ %if %{with dist_kernel} BuildRequires: kernel%{_alt_kernel}-module-build @@ -134,6 +136,7 @@ Sterownik dla jądra Linuksa do urządzeń telefonicznych DAHDI. %setup -q -n %{pname}-%{version} %patch0 -p1 %patch1 -p1 +%patch2 -p1 for a in %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE7}; do ln -s $a drivers/dahdi/firmware -- 2.44.0