mirror of
https://github.com/openwrt/telephony.git
synced 2026-05-31 06:51:54 +08:00
4d8d33a023
This patchset updates DAHDI 3.4.0 to build cleanly on Linux 6.18 and
modern OpenWrt toolchains. Changes include:
* Add kernel API compatibility shims:
- Provide hrtimer_init() wrapper using hrtimer_setup()
- Restore from_timer() helper
- Map del_timer*() to timer_delete*() on >= 6.15, aligning with
upstream PR #93[1].
* Replace deprecated EXTRA_CFLAGS with ccflags-y across all Kbuilds
to match upstream kernel changes and resolve build failures. Relating
to oct612x include paths using ccflags-y, aligning with upstream
PR #76.[2]
* Use out-of-tree OSLEC for Linux 6.18
* Minor Makefile adjustments for OpenWrt packaging consistency.
These changes collectively restore a complete, warning-free build of
DAHDI 3.4.0 on Linux 6.18 while preserving compatibility with existing
drivers and OpenWrt module packaging.
1. https://github.com/asterisk/dahdi-linux/issues/93
2. https://github.com/asterisk/dahdi-linux/issues/76
Signed-off-by: John Audia <therealgraysky@proton.me>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
111 lines
3.3 KiB
Makefile
111 lines
3.3 KiB
Makefile
#
|
|
# Copyright (C) 2014 - 2018 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
include $(INCLUDE_DIR)/kernel.mk
|
|
|
|
PKG_NAME:=dahdi-linux
|
|
PKG_VERSION:=3.4.0
|
|
PKG_RELEASE:=3
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_URL:=https://github.com/asterisk/$(PKG_NAME)/releases/download/v$(PKG_VERSION)
|
|
PKG_HASH:=b1344d61b86f68ae3fb774b76657216c6bf3cca89e04bfc6c93dbefccc88c654
|
|
|
|
PKG_LICENSE:=GPL-2.0
|
|
PKG_LICENSE_FILES:=LICENSE
|
|
PKG_MAINTAINER:=Vittorio Gambaletta <openwrt@vittgam.net>
|
|
|
|
# With below variable set, $(PKG_SYMVERS_DIR)/dahdi-linux.symvers gets
|
|
# generated from drivers/dahdi/Module.symvers.
|
|
PKG_EXTMOD_SUBDIRS:=drivers/dahdi
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define KernelPackage/dahdi
|
|
SUBMENU:=Voice over IP
|
|
TITLE:=DAHDI basic infrastructure
|
|
DEPENDS:=@USB_SUPPORT +kmod-lib-crc-ccitt
|
|
URL:=http://www.asterisk.org/
|
|
FILES:= $(PKG_BUILD_DIR)/drivers/dahdi/dahdi.$(LINUX_KMOD_SUFFIX)
|
|
AUTOLOAD:=$(call AutoProbe,dahdi)
|
|
endef
|
|
|
|
define KernelPackage/dahdi/description
|
|
This package contains DAHDI basic infrastructure.
|
|
endef
|
|
|
|
define KernelPackage/dahdi-echocan-oslec
|
|
SUBMENU:=Voice over IP
|
|
TITLE:=DAHDI OSLEC echo canceller support
|
|
DEPENDS:=kmod-dahdi +LINUX_6_12:kmod-echo +!LINUX_6_12:kmod-oslec
|
|
URL:=http://www.asterisk.org/
|
|
FILES:=$(PKG_BUILD_DIR)/drivers/dahdi/dahdi_echocan_oslec.$(LINUX_KMOD_SUFFIX)
|
|
AUTOLOAD:=$(call AutoProbe,dahdi_echocan_oslec)
|
|
endef
|
|
|
|
define KernelPackage/dahdi-echocan-oslec/description
|
|
This package contains DAHDI OSLEC echo canceller support.
|
|
endef
|
|
|
|
define KernelPackage/dahdi-hfcs
|
|
SUBMENU:=Voice over IP
|
|
TITLE:=DAHDI driver for HFC-S PCI
|
|
DEPENDS:=@PCI_SUPPORT kmod-dahdi
|
|
URL:=http://sourceforge.net/projects/dahdi-hfcs/
|
|
FILES:= $(PKG_BUILD_DIR)/drivers/dahdi/hfcs/dahdi_hfcs.$(LINUX_KMOD_SUFFIX)
|
|
AUTOLOAD:=$(call AutoProbe,dahdi_hfcs)
|
|
endef
|
|
|
|
define KernelPackage/dahdi-hfcs/description
|
|
This package contains DAHDI driver for HFC-S based PCI BRI adapters.
|
|
endef
|
|
|
|
define KernelPackage/dahdi-dummy
|
|
SUBMENU:=Voice over IP
|
|
TITLE:=dummy DAHDI driver
|
|
DEPENDS:=kmod-dahdi
|
|
URL:=http://www.asterisk.org/
|
|
FILES:= $(PKG_BUILD_DIR)/drivers/dahdi/dahdi_dummy.$(LINUX_KMOD_SUFFIX)
|
|
AUTOLOAD:=$(call AutoProbe,dahdi_dummy)
|
|
endef
|
|
|
|
define KernelPackage/dahdi-dummy/description
|
|
This package contains the dummy DAHDI driver providing only DAHDI timing
|
|
without any real telephony hardware.
|
|
endef
|
|
|
|
|
|
define Build/Configure
|
|
endef
|
|
|
|
define Build/Prepare
|
|
$(Build/Prepare/Default)
|
|
mkdir -p $(PKG_BUILD_DIR)/drivers/staging/echo/
|
|
$(CP) ./files/oslec.h $(PKG_BUILD_DIR)/drivers/staging/echo/
|
|
endef
|
|
|
|
define Build/Compile
|
|
$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
|
|
$(KERNEL_MAKE_FLAGS) \
|
|
KSRC="$(LINUX_DIR)"
|
|
endef
|
|
|
|
define Build/InstallDev
|
|
mkdir -p $(1)/usr/include/dahdi
|
|
$(CP) $(PKG_BUILD_DIR)/include/dahdi/dahdi_config.h $(1)/usr/include/dahdi/
|
|
$(CP) $(PKG_BUILD_DIR)/include/dahdi/fasthdlc.h $(1)/usr/include/dahdi/
|
|
$(CP) $(PKG_BUILD_DIR)/include/dahdi/kernel.h $(1)/usr/include/dahdi/
|
|
$(CP) $(PKG_BUILD_DIR)/include/dahdi/user.h $(1)/usr/include/dahdi/
|
|
$(CP) $(PKG_BUILD_DIR)/include/dahdi/wctdm_user.h $(1)/usr/include/dahdi/
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,dahdi))
|
|
$(eval $(call KernelPackage,dahdi-echocan-oslec))
|
|
$(eval $(call KernelPackage,dahdi-dummy))
|
|
$(eval $(call KernelPackage,dahdi-hfcs))
|