kernel: add some fixes for kernel 3.9
authorhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 20 Mar 2013 21:59:24 +0000 (21:59 +0000)
committerhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 20 Mar 2013 21:59:24 +0000 (21:59 +0000)
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
package/kernel/modules/usb.mk
package/network/utils/ipset/patches/001-fix-kernel-3.9.patch [new file with mode: 0644]
package/network/utils/xtables-addons/patches/003-fix-kernel-3.9.patch [new file with mode: 0644]
package/network/utils/xtables-addons/patches/102-rtsp-linux-3.7-compat.patch
package/network/utils/xtables-addons/patches/201-fix-lua-packetscript.patch
target/linux/generic/patches-3.9/259-regmap_dynamic.patch

index 07508ff..2c5bd2d 100644 (file)
@@ -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)
index fa6763c..66e6e4a 100644 (file)
@@ -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 (file)
index 0000000..d57ab02
--- /dev/null
@@ -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 <linux/netfilter/nfnetlink.h>
+ #include <linux/netfilter/ipset/ip_set.h>
++#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 (file)
index 0000000..e77e14d
--- /dev/null
@@ -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 */
index 0fe7917..216d7cb 100644 (file)
@@ -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
index 966d29d..06a4a17 100644 (file)
@@ -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
index 3479d1a..480f2c1 100644 (file)
  
  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 @@