include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=dahdi-linux
-PKG_VERSION:=2.10.0.1
+PKG_VERSION:=2.10.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases/
-PKG_MD5SUM:=a23e91cc474f241616a5a038ae2b1e72
+PKG_MD5SUM:=0281de245f4fa056f765ae2a6e1f1a4b
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=LICENSE
-Index: dahdi-linux-2.10.0.1/drivers/dahdi/oct612x/oct612x-user.c
-===================================================================
---- dahdi-linux-2.10.0.1.orig/drivers/dahdi/oct612x/oct612x-user.c
-+++ dahdi-linux-2.10.0.1/drivers/dahdi/oct612x/oct612x-user.c
+--- a/drivers/dahdi/oct612x/oct612x-user.c
++++ b/drivers/dahdi/oct612x/oct612x-user.c
@@ -22,6 +22,7 @@
#include <linux/kernel.h>
+++ /dev/null
-Index: dahdi-linux-2.10.0.1/drivers/dahdi/wcaxx-base.c
-===================================================================
---- dahdi-linux-2.10.0.1.orig/drivers/dahdi/wcaxx-base.c
-+++ dahdi-linux-2.10.0.1/drivers/dahdi/wcaxx-base.c
-@@ -3823,7 +3823,11 @@ static void wcaxx_back_out_gracefully(st
- unsigned long flags;
-
- clear_bit(INITIALIZED, &wc->bit_flags);
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0))
- smp_mb__after_clear_bit();
-+#else
-+ smp_mb__after_atomic();
-+#endif
-
- /* Make sure we're not on the card list anymore. */
- mutex_lock(&card_list_lock);
-Index: dahdi-linux-2.10.0.1/drivers/dahdi/wcte12xp/base.c
-===================================================================
---- dahdi-linux-2.10.0.1.orig/drivers/dahdi/wcte12xp/base.c
-+++ dahdi-linux-2.10.0.1/drivers/dahdi/wcte12xp/base.c
-@@ -2110,7 +2110,11 @@ static int t1xxp_set_linemode(struct dah
- * them. */
- clear_bit(INITIALIZED, &wc->bit_flags);
- synchronize_irq(wc->vb.pdev->irq);
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0))
- smp_mb__after_clear_bit();
-+#else
-+ smp_mb__after_atomic();
-+#endif
- del_timer_sync(&wc->timer);
- flush_workqueue(wc->wq);
-
-@@ -3076,7 +3080,11 @@ static void __devexit te12xp_remove_one(
- remove_sysfs_files(wc);
-
- clear_bit(INITIALIZED, &wc->bit_flags);
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0))
- smp_mb__after_clear_bit();
-+#else
-+ smp_mb__after_atomic();
-+#endif
-
- del_timer_sync(&wc->timer);
- flush_workqueue(wc->wq);
-Index: dahdi-linux-2.10.0.1/drivers/dahdi/wcte13xp-base.c
-===================================================================
---- dahdi-linux-2.10.0.1.orig/drivers/dahdi/wcte13xp-base.c
-+++ dahdi-linux-2.10.0.1/drivers/dahdi/wcte13xp-base.c
-@@ -1849,7 +1849,12 @@ static int t13x_set_linemode(struct dahd
- clear_bit(INITIALIZED, &wc->bit_flags);
- disable_irq(wc->xb.pdev->irq);
-
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0))
- smp_mb__after_clear_bit();
-+#else
-+ smp_mb__after_atomic();
-+#endif
-+
- del_timer_sync(&wc->timer);
- flush_workqueue(wc->wq);
-
-@@ -2725,7 +2730,11 @@ static void __devexit te13xp_remove_one(
- return;
-
- clear_bit(INITIALIZED, &wc->bit_flags);
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0))
- smp_mb__after_clear_bit();
-+#else
-+ smp_mb__after_atomic();
-+#endif
-
- /* Quiesce DMA engine interrupts */
- wcxb_stop(&wc->xb);
-Index: dahdi-linux-2.10.0.1/drivers/dahdi/wcte43x-base.c
-===================================================================
---- dahdi-linux-2.10.0.1.orig/drivers/dahdi/wcte43x-base.c
-+++ dahdi-linux-2.10.0.1/drivers/dahdi/wcte43x-base.c
-@@ -3581,7 +3581,11 @@ static void __devexit t43x_remove_one(st
- return;
-
- wc->not_ready = 1;
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0))
- smp_mb__after_clear_bit();
-+#else
-+ smp_mb__after_atomic();
-+#endif
-
- /* Stop everything */
- wcxb_stop(&wc->xb);
-Index: dahdi-linux-2.10.0.1/drivers/dahdi/Kbuild
-===================================================================
---- dahdi-linux-2.10.0.1.orig/drivers/dahdi/Kbuild
-+++ dahdi-linux-2.10.0.1/drivers/dahdi/Kbuild
+--- a/drivers/dahdi/Kbuild
++++ b/drivers/dahdi/Kbuild
@@ -61,9 +61,8 @@ obj-m += $(DAHDI_MODULES_EXTRA)
# If you want to build OSLEC, include the code in the standard location:
# drivers/staging/echo . The DAHDI OSLEC echo canceller will be built as
+++ /dev/null
-From 4d86a8f3f690ee9bb9429e17cc03856c6c2dc760 Mon Sep 17 00:00:00 2001
-From: Shaun Ruffell <sruffell@digium.com>
-Date: Mon, 22 Dec 2014 11:21:28 -0600
-Subject: [PATCH] dahdi: struct file.f_dentry macro was removed in kernel 3.19
-
-This is necessary to build against kernel version 3.19 since commit
-(78d28e651f97866d608d9b41 "kill f_dentry macro") [1]
-
-[1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=78d28e651
-
-Signed-off-by: Shaun Ruffell <sruffell@digium.com>
-Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
----
- drivers/dahdi/dahdi-base.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/drivers/dahdi/dahdi-base.c b/drivers/dahdi/dahdi-base.c
-index 0892734..f2caad0 100644
---- a/drivers/dahdi/dahdi-base.c
-+++ b/drivers/dahdi/dahdi-base.c
-@@ -98,7 +98,11 @@
- #define chan_to_netdev(h) ((h)->hdlcnetdev->netdev)
-
- /* macro-oni for determining a unit (channel) number */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 20)
- #define UNIT(file) MINOR(file->f_dentry->d_inode->i_rdev)
-+#else
-+#define UNIT(file) MINOR(file->f_path.dentry->d_inode->i_rdev)
-+#endif
-
- EXPORT_SYMBOL(dahdi_transcode_fops);
- EXPORT_SYMBOL(dahdi_init_tone_state);
---
-2.3.4
-
+++ /dev/null
-From 1cc0ad510acd404e63923ed3062b9302d53580da Mon Sep 17 00:00:00 2001
-From: Shaun Ruffell <sruffell@digium.com>
-Date: Mon, 2 Mar 2015 09:00:13 -0600
-Subject: [PATCH] dahdi: Fix "void value not ignored..." error when compiling
- against kernel 4.0.
-
-With commit (d1f1052c52 "device: Change dev_<level> logging functions to return
-void") [1] in kernel version 4.0, DAHDI would fail to compile with the following
-error:
-
- .../drivers/dahdi/dahdi-base.c:7150:2: error: void value not ignored as it ought to be
- dahdi_dev_dbg(ASSIGN, span_device(span),
- ^
-
-Now ignore the dev_printk return value.
-
-[1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d1f1052c5204524
-
-Signed-off-by: Shaun Ruffell <sruffell@digium.com>
-Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
----
- include/dahdi/kernel.h | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/include/dahdi/kernel.h b/include/dahdi/kernel.h
-index 365801d..54c415e 100644
---- a/include/dahdi/kernel.h
-+++ b/include/dahdi/kernel.h
-@@ -1665,9 +1665,11 @@ struct mutex {
- chan_printk(DEBUG, "-" #bits, chan, \
- "%s: " fmt, __func__, ## __VA_ARGS__)))
- #define dahdi_dev_dbg(bits, dev, fmt, ...) \
-- ((void)((debug & (DAHDI_DBG_ ## bits)) && \
-+ do { if (debug & (DAHDI_DBG_ ## bits)) { \
- dev_printk(KERN_DEBUG, dev, \
-- "DBG-%s(%s): " fmt, #bits, __func__, ## __VA_ARGS__)))
-+ "DBG-%s(%s): " fmt, #bits, __func__, ## __VA_ARGS__); \
-+ } } while (0)
-+
- #endif /* DAHDI_PRINK_MACROS_USE_debug */
-
- #endif /* _DAHDI_KERNEL_H */
---
-2.3.4
-
+++ /dev/null
-From 1559db9d1ae03780788788c07334ca54cdd1253a Mon Sep 17 00:00:00 2001
-From: Shaun Ruffell <sruffell@digium.com>
-Date: Mon, 2 Mar 2015 09:00:14 -0600
-Subject: [PATCH] dahdi: strnicmp() -> strncasecmp()
-
-With commit (af3cd13501 "lib/string.c: remove strnicmp()") [1] dahdi can no
-longer call strnicmp directly. strncasecmp was added into lib/string.c in kernel
-version 2.6.22 so we'll map calls to strncasecmp to strnicmp for any kernel
-before that.
-
-This is necessary to compile against kernels >= 4.0.
-
-[1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=af3cd13501
-
-Signed-off-by: Shaun Ruffell <sruffell@digium.com>
-Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
----
- drivers/dahdi/xpp/card_pri.c | 6 +++---
- include/dahdi/kernel.h | 2 ++
- 2 files changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/dahdi/xpp/card_pri.c b/drivers/dahdi/xpp/card_pri.c
-index 29b457b..edc8bd2 100644
---- a/drivers/dahdi/xpp/card_pri.c
-+++ b/drivers/dahdi/xpp/card_pri.c
-@@ -2399,11 +2399,11 @@ static DEVICE_ATTR_WRITER(pri_protocol_store, dev, buf, count)
- buf, i);
- return -EINVAL;
- }
-- if (strnicmp(buf, "E1", 2) == 0)
-+ if (strncasecmp(buf, "E1", 2) == 0)
- new_protocol = PRI_PROTO_E1;
-- else if (strnicmp(buf, "T1", 2) == 0)
-+ else if (strncasecmp(buf, "T1", 2) == 0)
- new_protocol = PRI_PROTO_T1;
-- else if (strnicmp(buf, "J1", 2) == 0)
-+ else if (strncasecmp(buf, "J1", 2) == 0)
- new_protocol = PRI_PROTO_J1;
- else {
- XPD_NOTICE(xpd,
-diff --git a/include/dahdi/kernel.h b/include/dahdi/kernel.h
-index 54c415e..90d48a3 100644
---- a/include/dahdi/kernel.h
-+++ b/include/dahdi/kernel.h
-@@ -1502,6 +1502,8 @@ void dahdi_pci_disable_link_state(struct pci_dev *pdev, int state);
- #define list_first_entry(ptr, type, member) \
- list_entry((ptr)->next, type, member)
-
-+#define strncasecmp strnicmp
-+
- #ifndef __packed
- #define __packed __attribute__((packed))
- #endif
---
-2.3.4
-
-Index: dahdi-linux-2.10.0.1/drivers/dahdi/Kbuild
-===================================================================
---- dahdi-linux-2.10.0.1.orig/drivers/dahdi/Kbuild
-+++ dahdi-linux-2.10.0.1/drivers/dahdi/Kbuild
+--- a/drivers/dahdi/Kbuild
++++ b/drivers/dahdi/Kbuild
@@ -1,5 +1,5 @@
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI) += dahdi.o
-#obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_DUMMY) += dahdi_dummy.o
-Index: dahdi-linux-2.10.0.1/drivers/dahdi/Kbuild
-===================================================================
---- dahdi-linux-2.10.0.1.orig/drivers/dahdi/Kbuild
-+++ dahdi-linux-2.10.0.1/drivers/dahdi/Kbuild
+--- a/drivers/dahdi/Kbuild
++++ b/drivers/dahdi/Kbuild
@@ -13,6 +13,7 @@ obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCT
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTDM24XXP) += wctdm24xxp/
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTE12XP) += wcte12xp/
wcte13xp-objs := wcte13xp-base.o wcxb_spi.o wcxb.o wcxb_flash.o
CFLAGS_wcte13xp-base.o += -I$(src)/oct612x -I$(src)/oct612x/include -I$(src)/oct612x/octdeviceapi -I$(src)/oct612x/octdeviceapi/oct6100api
-Index: dahdi-linux-2.10.0.1/drivers/dahdi/Kconfig
-===================================================================
---- dahdi-linux-2.10.0.1.orig/drivers/dahdi/Kconfig
-+++ dahdi-linux-2.10.0.1/drivers/dahdi/Kconfig
+--- a/drivers/dahdi/Kconfig
++++ b/drivers/dahdi/Kconfig
@@ -291,4 +291,14 @@ config DAHDI_WCTE11XP
If unsure, say Y.
+ If unsure, say Y.
+
source "drivers/dahdi/xpp/Kconfig"
-Index: dahdi-linux-2.10.0.1/drivers/dahdi/hfcs/base.c
-===================================================================
--- /dev/null
-+++ dahdi-linux-2.10.0.1/drivers/dahdi/hfcs/base.c
++++ b/drivers/dahdi/hfcs/base.c
@@ -0,0 +1,1742 @@
+/*
+ * dahdi_hfcs.c - Dahdi driver for HFC-S PCI A based ISDN BRI cards
+#ifdef DEBUG
+MODULE_PARM_DESC(debug_level, "Debug verbosity level");
+#endif
-Index: dahdi-linux-2.10.0.1/drivers/dahdi/hfcs/dahdi_hfcs.h
-===================================================================
--- /dev/null
-+++ dahdi-linux-2.10.0.1/drivers/dahdi/hfcs/dahdi_hfcs.h
++++ b/drivers/dahdi/hfcs/dahdi_hfcs.h
@@ -0,0 +1,419 @@
+/*
+ * dahdi_hfcs.h - Dahdi driver for HFC-S PCI A based ISDN BRI cards
+}
+
+#endif
-Index: dahdi-linux-2.10.0.1/drivers/dahdi/hfcs/fifo.c
-===================================================================
--- /dev/null
-+++ dahdi-linux-2.10.0.1/drivers/dahdi/hfcs/fifo.c
++++ b/drivers/dahdi/hfcs/fifo.c
@@ -0,0 +1,380 @@
+/*
+ * fifo.c - HFC FIFO management routines
+ }
+}
+
-Index: dahdi-linux-2.10.0.1/drivers/dahdi/hfcs/fifo.h
-===================================================================
--- /dev/null
-+++ dahdi-linux-2.10.0.1/drivers/dahdi/hfcs/fifo.h
++++ b/drivers/dahdi/hfcs/fifo.h
@@ -0,0 +1,139 @@
+/*
+ * fifo.h - Dahdi driver for HFC-S PCI A based ISDN BRI cards
+void hfc_clear_fifo_tx(struct hfc_chan_simplex *chan);
+
+#endif
-Index: dahdi-linux-2.10.0.1/drivers/dahdi/hfcs/Kbuild
-===================================================================
--- /dev/null
-+++ dahdi-linux-2.10.0.1/drivers/dahdi/hfcs/Kbuild
++++ b/drivers/dahdi/hfcs/Kbuild
@@ -0,0 +1,10 @@
+obj-m += dahdi_hfcs.o
+