From 06211d702c555dcfdad210497c96ee71a6b31c2f Mon Sep 17 00:00:00 2001 From: hauke Date: Wed, 20 Mar 2013 21:59:24 +0000 Subject: kernel: add some fixes for kernel 3.9 This patch fixes some compile problems with kernel 3.9 and adds some missing linux 3.9 handling into kernel packages. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36098 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/kernel/modules/netdevices.mk | 2 +- package/kernel/modules/usb.mk | 2 +- .../network/utils/ipset/patches/001-fix-kernel-3.9.patch | 16 ++++++++++++++++ .../xtables-addons/patches/003-fix-kernel-3.9.patch | 14 ++++++++++++++ .../patches/102-rtsp-linux-3.7-compat.patch | 6 +++--- .../patches/201-fix-lua-packetscript.patch | 2 +- .../linux/generic/patches-3.9/259-regmap_dynamic.patch | 14 ++++++++++++++ 7 files changed, 50 insertions(+), 6 deletions(-) create mode 100644 package/network/utils/ipset/patches/001-fix-kernel-3.9.patch create mode 100644 package/network/utils/xtables-addons/patches/003-fix-kernel-3.9.patch diff --git a/package/kernel/modules/netdevices.mk b/package/kernel/modules/netdevices.mk index 07508ff0a..2c5bd2d6c 100644 --- a/package/kernel/modules/netdevices.mk +++ b/package/kernel/modules/netdevices.mk @@ -473,7 +473,7 @@ $(eval $(call KernelPackage,pcnet32)) define KernelPackage/tg3 TITLE:=Broadcom Tigon3 Gigabit Ethernet KCONFIG:=CONFIG_TIGON3 - DEPENDS:=+!TARGET_brcm47xx:kmod-libphy +!LINUX_3_3:kmod-hwmon-core +LINUX_3_8:kmod-ptp + DEPENDS:=+!TARGET_brcm47xx:kmod-libphy +!LINUX_3_3:kmod-hwmon-core +(LINUX_3_8||LINUX_3_9):kmod-ptp SUBMENU:=$(NETWORK_DEVICES_MENU) FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/tg3.ko AUTOLOAD:=$(call AutoLoad,50,tg3) diff --git a/package/kernel/modules/usb.mk b/package/kernel/modules/usb.mk index fa6763c84..66e6e4aa7 100644 --- a/package/kernel/modules/usb.mk +++ b/package/kernel/modules/usb.mk @@ -157,7 +157,7 @@ $(eval $(call KernelPackage,usb2)) define KernelPackage/usb2-pci TITLE:=Support for PCI USB2 controllers - DEPENDS:=@PCI_SUPPORT @LINUX_3_8 +kmod-usb2 + DEPENDS:=@PCI_SUPPORT @(LINUX_3_8||LINUX_3_9) +kmod-usb2 KCONFIG:=CONFIG_USB_EHCI_PCI FILES:=$(LINUX_DIR)/drivers/usb/host/ehci-pci.ko AUTOLOAD:=$(call AutoLoad,42,ehci-pci,1) diff --git a/package/network/utils/ipset/patches/001-fix-kernel-3.9.patch b/package/network/utils/ipset/patches/001-fix-kernel-3.9.patch new file mode 100644 index 000000000..d57ab0287 --- /dev/null +++ b/package/network/utils/ipset/patches/001-fix-kernel-3.9.patch @@ -0,0 +1,16 @@ +--- a/kernel/net/netfilter/ipset/ip_set_core.c ++++ b/kernel/net/netfilter/ipset/ip_set_core.c +@@ -27,6 +27,13 @@ + #include + #include + ++#ifndef IPSET_IN_KERNEL_TREE ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0) ++#define nfnl_unlock() nfnl_unlock(NFNL_SUBSYS_IPSET) ++#define nfnl_lock() nfnl_lock(NFNL_SUBSYS_IPSET) ++#endif ++#endif ++ + static LIST_HEAD(ip_set_type_list); /* all registered set types */ + static DEFINE_MUTEX(ip_set_type_mutex); /* protects ip_set_type_list */ + static DEFINE_RWLOCK(ip_set_ref_lock); /* protects the set refs */ diff --git a/package/network/utils/xtables-addons/patches/003-fix-kernel-3.9.patch b/package/network/utils/xtables-addons/patches/003-fix-kernel-3.9.patch new file mode 100644 index 000000000..e77e14d2e --- /dev/null +++ b/package/network/utils/xtables-addons/patches/003-fix-kernel-3.9.patch @@ -0,0 +1,14 @@ +--- a/extensions/compat_xtables.h ++++ b/extensions/compat_xtables.h +@@ -57,4 +57,11 @@ + + #define xt_request_find_match xtnu_request_find_match + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0) ++static inline void proc_net_remove(struct net *net, const char *name) ++{ ++ remove_proc_entry(name, net->proc_net); ++} ++#endif ++ + #endif /* _XTABLES_COMPAT_H */ diff --git a/package/network/utils/xtables-addons/patches/102-rtsp-linux-3.7-compat.patch b/package/network/utils/xtables-addons/patches/102-rtsp-linux-3.7-compat.patch index 0fe7917cf..216d7cb78 100644 --- a/package/network/utils/xtables-addons/patches/102-rtsp-linux-3.7-compat.patch +++ b/package/network/utils/xtables-addons/patches/102-rtsp-linux-3.7-compat.patch @@ -72,7 +72,7 @@ { char* ptcp; uint tcplen; -@@ -256,7 +256,7 @@ rtsp_mangle_tran(enum ip_conntrack_info +@@ -256,7 +256,7 @@ rtsp_mangle_tran(enum ip_conntrack_info if (dstact == DSTACT_STRIP || (dstact == DSTACT_AUTO && !is_stun)) { diff = nextfieldoff-off; @@ -81,7 +81,7 @@ off, diff, NULL, 0)) { /* mangle failed, all we can do is bail */ -@@ -326,7 +326,7 @@ rtsp_mangle_tran(enum ip_conntrack_info +@@ -326,7 +326,7 @@ rtsp_mangle_tran(enum ip_conntrack_info * parameter 4 below is offset from start of tcp data. */ diff = origlen-rbuflen; @@ -90,7 +90,7 @@ origoff, origlen, rbuf, rbuflen)) { /* mangle failed, all we can do is bail */ -@@ -351,7 +351,7 @@ rtsp_mangle_tran(enum ip_conntrack_info +@@ -351,7 +351,7 @@ rtsp_mangle_tran(enum ip_conntrack_info } static uint diff --git a/package/network/utils/xtables-addons/patches/201-fix-lua-packetscript.patch b/package/network/utils/xtables-addons/patches/201-fix-lua-packetscript.patch index 966d29dfa..06a4a1739 100644 --- a/package/network/utils/xtables-addons/patches/201-fix-lua-packetscript.patch +++ b/package/network/utils/xtables-addons/patches/201-fix-lua-packetscript.patch @@ -78,7 +78,7 @@ #define UCHAR_MAX 255 #define SHRT_MAX 32767 #define BUFSIZ 8192 -@@ -637,6 +641,8 @@ union luai_Cast { double l_d; long l_l; +@@ -637,6 +641,8 @@ union luai_Cast { double l_d; long l_l; */ #if defined(__KERNEL__) #undef LUA_USE_ULONGJMP diff --git a/target/linux/generic/patches-3.9/259-regmap_dynamic.patch b/target/linux/generic/patches-3.9/259-regmap_dynamic.patch index 3479d1a0a..480f2c181 100644 --- a/target/linux/generic/patches-3.9/259-regmap_dynamic.patch +++ b/target/linux/generic/patches-3.9/259-regmap_dynamic.patch @@ -39,6 +39,20 @@ enum regmap_endian { /* Unspecified -> 0 -> Backwards compatible default */ +--- a/drivers/base/regmap/Makefile ++++ b/drivers/base/regmap/Makefile +@@ -1,6 +1,8 @@ +-obj-$(CONFIG_REGMAP) += regmap.o regcache.o +-obj-$(CONFIG_REGMAP) += regcache-rbtree.o regcache-lzo.o regcache-flat.o +-obj-$(CONFIG_DEBUG_FS) += regmap-debugfs.o ++regmap-core-objs = regmap.o regcache.o regcache-rbtree.o regcache-lzo.o regcache-flat.o ++ifdef CONFIG_DEBUG_FS ++regmap-core-objs += regmap-debugfs.o ++endif ++obj-$(CONFIG_REGMAP) += regmap-core.o + obj-$(CONFIG_REGMAP_I2C) += regmap-i2c.o + obj-$(CONFIG_REGMAP_SPI) += regmap-spi.o + obj-$(CONFIG_REGMAP_MMIO) += regmap-mmio.o --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c @@ -13,6 +13,7 @@ -- cgit v1.2.3