summaryrefslogtreecommitdiff
path: root/openwrt/target/linux
diff options
context:
space:
mode:
authorkaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-03-21 08:48:43 +0000
committerkaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-03-21 08:48:43 +0000
commit2ea95b1701875b60a2dcd44b845ef38edd332e84 (patch)
tree441e6b47b402a8e5c9f6528199774dfb93c373ba /openwrt/target/linux
parentbf66fdc50b4f397897179e9d996cf86560845d57 (diff)
upgrade to Linux 2.6.16, yay
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@3422 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'openwrt/target/linux')
-rw-r--r--openwrt/target/linux/Config.in1
-rw-r--r--openwrt/target/linux/aruba-2.6/Makefile4
-rw-r--r--openwrt/target/linux/aruba-2.6/config125
-rw-r--r--openwrt/target/linux/aruba-2.6/config-ramdisk125
-rw-r--r--openwrt/target/linux/aruba-2.6/patches/000-aruba.patch569
-rw-r--r--openwrt/target/linux/brcm-2.6/Makefile4
-rw-r--r--openwrt/target/linux/brcm-2.6/config162
-rw-r--r--openwrt/target/linux/brcm-2.6/patches/001-bcm947xx.patch433
-rw-r--r--openwrt/target/linux/generic-2.6/patches/006-gcc4_inline_fix.patch2808
-rw-r--r--openwrt/target/linux/generic-2.6/patches/100-netfilter_layer7_2.1nbd.patch136
-rw-r--r--openwrt/target/linux/generic-2.6/patches/103-netfilter-ipset.patch151
-rw-r--r--openwrt/target/linux/generic-2.6/patches/106-netfilter_imq.patch468
-rw-r--r--openwrt/target/linux/x86-2.6/Makefile4
13 files changed, 1113 insertions, 3877 deletions
diff --git a/openwrt/target/linux/Config.in b/openwrt/target/linux/Config.in
index fca77141b3..08d6454199 100644
--- a/openwrt/target/linux/Config.in
+++ b/openwrt/target/linux/Config.in
@@ -9,6 +9,7 @@ menu "Target Root Filesystem"
config BR2_TARGET_ROOTFS_SQUASHFS_LZMA
bool "squashfs-lzma"
default y
+ depends !BR2_LINUX_2_6_ARUBA
help
Build a squashfs-lzma root filesystem
diff --git a/openwrt/target/linux/aruba-2.6/Makefile b/openwrt/target/linux/aruba-2.6/Makefile
index 667f976c49..ea886685c7 100644
--- a/openwrt/target/linux/aruba-2.6/Makefile
+++ b/openwrt/target/linux/aruba-2.6/Makefile
@@ -1,8 +1,8 @@
include $(TOPDIR)/rules.mk
-LINUX_VERSION:=2.6.15.6
+LINUX_VERSION:=2.6.16
LINUX_RELEASE:=1
-LINUX_KERNEL_MD5SUM:=2ea7c865d6c09a02cbe6ce5fddcd02ca
+LINUX_KERNEL_MD5SUM:=9a91b2719949ff0856b40bc467fd47be
include ../rules.mk
include ./config
diff --git a/openwrt/target/linux/aruba-2.6/config b/openwrt/target/linux/aruba-2.6/config
index 2985f364ec..c4e980c5e5 100644
--- a/openwrt/target/linux/aruba-2.6/config
+++ b/openwrt/target/linux/aruba-2.6/config
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.15.1
-# Mon Jan 30 02:08:31 2006
+# Linux kernel version: 2.6.16
+# Mon Mar 20 14:06:58 2006
#
CONFIG_MIPS=y
@@ -71,7 +71,6 @@ CONFIG_DMA_NEED_PCI_MAP_STATE=y
CONFIG_CPU_BIG_ENDIAN=y
# CONFIG_CPU_LITTLE_ENDIAN is not set
CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
-CONFIG_IRQ_CPU=y
CONFIG_SWAP_IO_SPACE=y
CONFIG_MIPS_L1_CACHE_SHIFT=5
@@ -117,11 +116,11 @@ CONFIG_CPU_HAS_PREFETCH=y
# CONFIG_64BIT_PHYS_ADDR is not set
CONFIG_CPU_ADVANCED=y
CONFIG_CPU_HAS_LLSC=y
-# CONFIG_CPU_HAS_LLDSCD is not set
# CONFIG_CPU_HAS_WB is not set
CONFIG_CPU_HAS_SYNC=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_CPU_SUPPORTS_HIGHMEM=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
@@ -139,7 +138,6 @@ CONFIG_PREEMPT_NONE=y
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
-CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
@@ -154,15 +152,15 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
-CONFIG_HOTPLUG=y
-CONFIG_KOBJECT_UEVENT=y
# CONFIG_IKCONFIG is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_EMBEDDED=y
# CONFIG_KALLSYMS is not set
+CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
+# CONFIG_ELF_CORE is not set
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
@@ -171,8 +169,11 @@ CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_SLAB is not set
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
+CONFIG_SLOB=y
+CONFIG_OBSOLETE_INTERMODULE=y
#
# Loadable module support
@@ -236,6 +237,7 @@ CONFIG_NET=y
#
# Networking options
#
+# CONFIG_NETDEBUG is not set
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
@@ -277,6 +279,25 @@ CONFIG_NETFILTER=y
# Core Netfilter Configuration
#
# CONFIG_NETFILTER_NETLINK is not set
+CONFIG_NETFILTER_XTABLES=y
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
+# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
+# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
+# CONFIG_NETFILTER_XT_MATCH_REALM is not set
+# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
+CONFIG_NETFILTER_XT_MATCH_STATE=y
+# CONFIG_NETFILTER_XT_MATCH_STRING is not set
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
#
# IP: Netfilter Configuration
@@ -294,13 +315,9 @@ CONFIG_IP_NF_AMANDA=m
# CONFIG_IP_NF_PPTP is not set
CONFIG_IP_NF_QUEUE=y
CONFIG_IP_NF_IPTABLES=y
-CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_IPRANGE=m
-CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_LAYER7=m
# CONFIG_IP_NF_MATCH_LAYER7_DEBUG is not set
-# CONFIG_IP_NF_MATCH_PKTTYPE is not set
-CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_TIME=m
@@ -308,28 +325,16 @@ CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m
-CONFIG_IP_NF_MATCH_LENGTH=m
CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_MATCH_TCPMSS=y
-CONFIG_IP_NF_MATCH_HELPER=m
-CONFIG_IP_NF_MATCH_STATE=y
-CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_IP_NF_MATCH_OWNER=m
# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
-# CONFIG_IP_NF_MATCH_REALM is not set
-# CONFIG_IP_NF_MATCH_SCTP is not set
-# CONFIG_IP_NF_MATCH_DCCP is not set
-# CONFIG_IP_NF_MATCH_COMMENT is not set
-# CONFIG_IP_NF_MATCH_CONNBYTES is not set
# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
-# CONFIG_IP_NF_MATCH_STRING is not set
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_IMQ=m
# CONFIG_IP_NF_TARGET_LOG is not set
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=y
-# CONFIG_IP_NF_TARGET_NFQUEUE is not set
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
@@ -345,9 +350,7 @@ CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_DSCP=m
-CONFIG_IP_NF_TARGET_MARK=y
-# CONFIG_IP_NF_TARGET_CLASSIFY is not set
-# CONFIG_IP_NF_TARGET_TTL is not set
+CONFIG_IP_NF_TARGET_TTL=m
# CONFIG_IP_NF_RAW is not set
# CONFIG_IP_NF_ARPTABLES is not set
CONFIG_IP_NF_SET=m
@@ -382,6 +385,11 @@ CONFIG_IP_NF_TARGET_SET=m
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
# CONFIG_ATM is not set
CONFIG_BRIDGE=y
CONFIG_VLAN_8021Q=y
@@ -548,6 +556,7 @@ CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
#
# Mapping drivers for chip access
@@ -676,13 +685,7 @@ CONFIG_BLK_DEV_SD=m
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
-CONFIG_SCSI_QLA2XXX=m
-# CONFIG_SCSI_QLA21XX is not set
-# CONFIG_SCSI_QLA22XX is not set
-# CONFIG_SCSI_QLA2300 is not set
-# CONFIG_SCSI_QLA2322 is not set
-# CONFIG_SCSI_QLA6312 is not set
-# CONFIG_SCSI_QLA24XX is not set
+# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
@@ -716,6 +719,7 @@ CONFIG_SCSI_QLA2XXX=m
# Network device support
#
CONFIG_NETDEVICES=y
+# CONFIG_IFB is not set
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
@@ -748,6 +752,7 @@ CONFIG_IDT_RC32434_ETH=y
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_DM9000 is not set
#
# Tulip family network device support
@@ -787,6 +792,7 @@ CONFIG_NATSEMI=y
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
+# CONFIG_SKY2 is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set
@@ -900,6 +906,7 @@ CONFIG_INPUT=m
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
# CONFIG_SERIAL_8250_EXTENDED is not set
#
@@ -961,6 +968,12 @@ CONFIG_WATCHDOG=y
# CONFIG_I2C is not set
#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set
@@ -991,6 +1004,7 @@ CONFIG_VIDEO_DEV=m
#
# Video Adapters
#
+# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_CPIA is not set
# CONFIG_VIDEO_STRADIS is not set
# CONFIG_VIDEO_MXB is not set
@@ -1031,6 +1045,8 @@ CONFIG_SND_RAWMIDI=m
# CONFIG_SND_SEQUENCER is not set
# CONFIG_SND_MIXER_OSS is not set
# CONFIG_SND_PCM_OSS is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+# CONFIG_SND_SUPPORT_OLD_API is not set
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
@@ -1045,6 +1061,7 @@ CONFIG_SND_RAWMIDI=m
#
# PCI devices
#
+# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
@@ -1053,38 +1070,38 @@ CONFIG_SND_RAWMIDI=m
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
-# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
-# CONFIG_SND_CA0106 is not set
-# CONFIG_SND_KORG1212 is not set
-# CONFIG_SND_MIXART is not set
-# CONFIG_SND_NM256 is not set
-# CONFIG_SND_RME32 is not set
-# CONFIG_SND_RME96 is not set
-# CONFIG_SND_RME9652 is not set
-# CONFIG_SND_HDSP is not set
-# CONFIG_SND_HDSPM is not set
-# CONFIG_SND_TRIDENT is not set
-# CONFIG_SND_YMFPCI is not set
-# CONFIG_SND_AD1889 is not set
-# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
-# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VX222 is not set
-# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_YMFPCI is not set
#
# ALSA MIPS devices
@@ -1152,6 +1169,8 @@ CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_LIBUSUAL is not set
#
# USB Input Devices
@@ -1174,6 +1193,7 @@ CONFIG_USB_STORAGE=m
# CONFIG_USB_YEALINK is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set
+# CONFIG_USB_ATI_REMOTE2 is not set
# CONFIG_USB_KEYSPAN_REMOTE is not set
# CONFIG_USB_APPLETOUCH is not set
@@ -1189,6 +1209,7 @@ CONFIG_USB_STORAGE=m
# CONFIG_USB_DABUSB is not set
# CONFIG_USB_VICAM is not set
# CONFIG_USB_DSBR is not set
+# CONFIG_USB_ET61X251 is not set
# CONFIG_USB_IBMCAM is not set
# CONFIG_USB_KONICAWC is not set
# CONFIG_USB_OV511 is not set
@@ -1255,7 +1276,7 @@ CONFIG_USB_MON=y
# CONFIG_INFINIBAND is not set
#
-# SN Devices
+# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
#
#
@@ -1279,6 +1300,7 @@ CONFIG_JFS_FS=m
# CONFIG_JFS_STATISTICS is not set
# CONFIG_FS_POSIX_ACL is not set
# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
CONFIG_MINIX_FS=m
# CONFIG_ROMFS_FS is not set
# CONFIG_INOTIFY is not set
@@ -1317,6 +1339,7 @@ CONFIG_TMPFS=y
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
# CONFIG_RELAYFS_FS is not set
+# CONFIG_CONFIGFS_FS is not set
#
# Miscellaneous filesystems
@@ -1375,6 +1398,7 @@ CONFIG_MSDOS_PARTITION=y
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
#
@@ -1430,6 +1454,7 @@ CONFIG_NLS_UTF8=m
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
+# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_DEBUG_KERNEL is not set
CONFIG_LOG_BUF_SHIFT=14
CONFIG_CROSSCOMPILE=y
diff --git a/openwrt/target/linux/aruba-2.6/config-ramdisk b/openwrt/target/linux/aruba-2.6/config-ramdisk
index 6925361d73..790d6893d6 100644
--- a/openwrt/target/linux/aruba-2.6/config-ramdisk
+++ b/openwrt/target/linux/aruba-2.6/config-ramdisk
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.15.1
-# Mon Jan 30 02:08:31 2006
+# Linux kernel version: 2.6.16
+# Mon Mar 20 14:06:58 2006
#
CONFIG_MIPS=y
@@ -71,7 +71,6 @@ CONFIG_DMA_NEED_PCI_MAP_STATE=y
CONFIG_CPU_BIG_ENDIAN=y
# CONFIG_CPU_LITTLE_ENDIAN is not set
CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
-CONFIG_IRQ_CPU=y
CONFIG_SWAP_IO_SPACE=y
CONFIG_MIPS_L1_CACHE_SHIFT=5
@@ -117,11 +116,11 @@ CONFIG_CPU_HAS_PREFETCH=y
# CONFIG_64BIT_PHYS_ADDR is not set
CONFIG_CPU_ADVANCED=y
CONFIG_CPU_HAS_LLSC=y
-# CONFIG_CPU_HAS_LLDSCD is not set
# CONFIG_CPU_HAS_WB is not set
CONFIG_CPU_HAS_SYNC=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_CPU_SUPPORTS_HIGHMEM=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
@@ -139,7 +138,6 @@ CONFIG_PREEMPT_NONE=y
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
-CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
@@ -154,8 +152,6 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
-CONFIG_HOTPLUG=y
-CONFIG_KOBJECT_UEVENT=y
# CONFIG_IKCONFIG is not set
CONFIG_INITRAMFS_SOURCE="../root"
CONFIG_INITRAMFS_ROOT_UID=0
@@ -163,8 +159,10 @@ CONFIG_INITRAMFS_ROOT_GID=0
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_EMBEDDED=y
# CONFIG_KALLSYMS is not set
+CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
+# CONFIG_ELF_CORE is not set
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
@@ -173,8 +171,11 @@ CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_SLAB is not set
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
+CONFIG_SLOB=y
+CONFIG_OBSOLETE_INTERMODULE=y
#
# Loadable module support
@@ -238,6 +239,7 @@ CONFIG_NET=y
#
# Networking options
#
+# CONFIG_NETDEBUG is not set
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
@@ -279,6 +281,25 @@ CONFIG_NETFILTER=y
# Core Netfilter Configuration
#
# CONFIG_NETFILTER_NETLINK is not set
+CONFIG_NETFILTER_XTABLES=y
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
+# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
+# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
+# CONFIG_NETFILTER_XT_MATCH_REALM is not set
+# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
+CONFIG_NETFILTER_XT_MATCH_STATE=y
+# CONFIG_NETFILTER_XT_MATCH_STRING is not set
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
#
# IP: Netfilter Configuration
@@ -296,13 +317,9 @@ CONFIG_IP_NF_AMANDA=m
# CONFIG_IP_NF_PPTP is not set
CONFIG_IP_NF_QUEUE=y
CONFIG_IP_NF_IPTABLES=y
-CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_IPRANGE=m
-CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_LAYER7=m
# CONFIG_IP_NF_MATCH_LAYER7_DEBUG is not set
-# CONFIG_IP_NF_MATCH_PKTTYPE is not set
-CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_TIME=m
@@ -310,28 +327,16 @@ CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m
-CONFIG_IP_NF_MATCH_LENGTH=m
CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_MATCH_TCPMSS=y
-CONFIG_IP_NF_MATCH_HELPER=m
-CONFIG_IP_NF_MATCH_STATE=y
-CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_IP_NF_MATCH_OWNER=m
# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
-# CONFIG_IP_NF_MATCH_REALM is not set
-# CONFIG_IP_NF_MATCH_SCTP is not set
-# CONFIG_IP_NF_MATCH_DCCP is not set
-# CONFIG_IP_NF_MATCH_COMMENT is not set
-# CONFIG_IP_NF_MATCH_CONNBYTES is not set
# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
-# CONFIG_IP_NF_MATCH_STRING is not set
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_IMQ=m
# CONFIG_IP_NF_TARGET_LOG is not set
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=y
-# CONFIG_IP_NF_TARGET_NFQUEUE is not set
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
@@ -347,9 +352,7 @@ CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_DSCP=m
-CONFIG_IP_NF_TARGET_MARK=y
-# CONFIG_IP_NF_TARGET_CLASSIFY is not set
-# CONFIG_IP_NF_TARGET_TTL is not set
+CONFIG_IP_NF_TARGET_TTL=m
# CONFIG_IP_NF_RAW is not set
# CONFIG_IP_NF_ARPTABLES is not set
CONFIG_IP_NF_SET=m
@@ -384,6 +387,11 @@ CONFIG_IP_NF_TARGET_SET=m
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
# CONFIG_ATM is not set
CONFIG_BRIDGE=y
CONFIG_VLAN_8021Q=y
@@ -550,6 +558,7 @@ CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
#
# Mapping drivers for chip access
@@ -678,13 +687,7 @@ CONFIG_BLK_DEV_SD=m
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
-CONFIG_SCSI_QLA2XXX=m
-# CONFIG_SCSI_QLA21XX is not set
-# CONFIG_SCSI_QLA22XX is not set
-# CONFIG_SCSI_QLA2300 is not set
-# CONFIG_SCSI_QLA2322 is not set
-# CONFIG_SCSI_QLA6312 is not set
-# CONFIG_SCSI_QLA24XX is not set
+# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
@@ -718,6 +721,7 @@ CONFIG_SCSI_QLA2XXX=m
# Network device support
#
CONFIG_NETDEVICES=y
+# CONFIG_IFB is not set
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
@@ -750,6 +754,7 @@ CONFIG_IDT_RC32434_ETH=y
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_DM9000 is not set
#
# Tulip family network device support
@@ -789,6 +794,7 @@ CONFIG_NATSEMI=y
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
+# CONFIG_SKY2 is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set
@@ -902,6 +908,7 @@ CONFIG_INPUT=m
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
# CONFIG_SERIAL_8250_EXTENDED is not set
#
@@ -963,6 +970,12 @@ CONFIG_WATCHDOG=y
# CONFIG_I2C is not set
#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set
@@ -993,6 +1006,7 @@ CONFIG_VIDEO_DEV=m
#
# Video Adapters
#
+# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_CPIA is not set
# CONFIG_VIDEO_STRADIS is not set
# CONFIG_VIDEO_MXB is not set
@@ -1033,6 +1047,8 @@ CONFIG_SND_RAWMIDI=m
# CONFIG_SND_SEQUENCER is not set
# CONFIG_SND_MIXER_OSS is not set
# CONFIG_SND_PCM_OSS is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+# CONFIG_SND_SUPPORT_OLD_API is not set
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
@@ -1047,6 +1063,7 @@ CONFIG_SND_RAWMIDI=m
#
# PCI devices
#
+# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
@@ -1055,38 +1072,38 @@ CONFIG_SND_RAWMIDI=m
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
-# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
-# CONFIG_SND_CA0106 is not set
-# CONFIG_SND_KORG1212 is not set
-# CONFIG_SND_MIXART is not set
-# CONFIG_SND_NM256 is not set
-# CONFIG_SND_RME32 is not set
-# CONFIG_SND_RME96 is not set
-# CONFIG_SND_RME9652 is not set
-# CONFIG_SND_HDSP is not set
-# CONFIG_SND_HDSPM is not set
-# CONFIG_SND_TRIDENT is not set
-# CONFIG_SND_YMFPCI is not set
-# CONFIG_SND_AD1889 is not set
-# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
-# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VX222 is not set
-# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_YMFPCI is not set
#
# ALSA MIPS devices
@@ -1154,6 +1171,8 @@ CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_LIBUSUAL is not set
#
# USB Input Devices
@@ -1176,6 +1195,7 @@ CONFIG_USB_STORAGE=m
# CONFIG_USB_YEALINK is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set
+# CONFIG_USB_ATI_REMOTE2 is not set
# CONFIG_USB_KEYSPAN_REMOTE is not set
# CONFIG_USB_APPLETOUCH is not set
@@ -1191,6 +1211,7 @@ CONFIG_USB_STORAGE=m
# CONFIG_USB_DABUSB is not set
# CONFIG_USB_VICAM is not set
# CONFIG_USB_DSBR is not set
+# CONFIG_USB_ET61X251 is not set
# CONFIG_USB_IBMCAM is not set
# CONFIG_USB_KONICAWC is not set
# CONFIG_USB_OV511 is not set
@@ -1257,7 +1278,7 @@ CONFIG_USB_MON=y
# CONFIG_INFINIBAND is not set
#
-# SN Devices
+# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
#
#
@@ -1281,6 +1302,7 @@ CONFIG_JFS_FS=m
# CONFIG_JFS_STATISTICS is not set
# CONFIG_FS_POSIX_ACL is not set
# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
CONFIG_MINIX_FS=m
# CONFIG_ROMFS_FS is not set
# CONFIG_INOTIFY is not set
@@ -1319,6 +1341,7 @@ CONFIG_TMPFS=y
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
# CONFIG_RELAYFS_FS is not set
+# CONFIG_CONFIGFS_FS is not set
#
# Miscellaneous filesystems
@@ -1377,6 +1400,7 @@ CONFIG_MSDOS_PARTITION=y
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
#
@@ -1432,6 +1456,7 @@ CONFIG_NLS_UTF8=m
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
+# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_DEBUG_KERNEL is not set
CONFIG_LOG_BUF_SHIFT=14
CONFIG_CROSSCOMPILE=y
diff --git a/openwrt/target/linux/aruba-2.6/patches/000-aruba.patch b/openwrt/target/linux/aruba-2.6/patches/000-aruba.patch
index dda15ed1c6..34fbaf2dec 100644
--- a/openwrt/target/linux/aruba-2.6/patches/000-aruba.patch
+++ b/openwrt/target/linux/aruba-2.6/patches/000-aruba.patch
@@ -1,6 +1,6 @@
-diff -Nur linux-2.6.15/arch/mips/aruba/Makefile linux-2.6.15-openwrt/arch/mips/aruba/Makefile
---- linux-2.6.15/arch/mips/aruba/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/aruba/Makefile 2006-01-10 00:32:32.000000000 +0100
+diff -Nur linux-2.6.16/arch/mips/aruba/Makefile linux-2.6.16-owrt/arch/mips/aruba/Makefile
+--- linux-2.6.16/arch/mips/aruba/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/aruba/Makefile 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,49 @@
+###############################################################################
+#
@@ -51,9 +51,9 @@ diff -Nur linux-2.6.15/arch/mips/aruba/Makefile linux-2.6.15-openwrt/arch/mips/a
+subdir-y += nvram
+obj-y += nvram/built-in.o
+
-diff -Nur linux-2.6.15/arch/mips/aruba/nvram/Makefile linux-2.6.15-openwrt/arch/mips/aruba/nvram/Makefile
---- linux-2.6.15/arch/mips/aruba/nvram/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/aruba/nvram/Makefile 2006-01-10 00:32:32.000000000 +0100
+diff -Nur linux-2.6.16/arch/mips/aruba/nvram/Makefile linux-2.6.16-owrt/arch/mips/aruba/nvram/Makefile
+--- linux-2.6.16/arch/mips/aruba/nvram/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/aruba/nvram/Makefile 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,46 @@
+###############################################################################
+#
@@ -101,9 +101,9 @@ diff -Nur linux-2.6.15/arch/mips/aruba/nvram/Makefile linux-2.6.15-openwrt/arch/
+
+
+
-diff -Nur linux-2.6.15/arch/mips/aruba/nvram/nvram434.c linux-2.6.15-openwrt/arch/mips/aruba/nvram/nvram434.c
---- linux-2.6.15/arch/mips/aruba/nvram/nvram434.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/aruba/nvram/nvram434.c 2006-01-10 00:32:32.000000000 +0100
+diff -Nur linux-2.6.16/arch/mips/aruba/nvram/nvram434.c linux-2.6.16-owrt/arch/mips/aruba/nvram/nvram434.c
+--- linux-2.6.16/arch/mips/aruba/nvram/nvram434.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/aruba/nvram/nvram434.c 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,392 @@
+/**************************************************************************
+ *
@@ -497,9 +497,9 @@ diff -Nur linux-2.6.15/arch/mips/aruba/nvram/nvram434.c linux-2.6.15-openwrt/arc
+{
+ nvram_mapenv(func);
+}
-diff -Nur linux-2.6.15/arch/mips/aruba/nvram/nvram434.h linux-2.6.15-openwrt/arch/mips/aruba/nvram/nvram434.h
---- linux-2.6.15/arch/mips/aruba/nvram/nvram434.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/aruba/nvram/nvram434.h 2006-01-10 00:32:32.000000000 +0100
+diff -Nur linux-2.6.16/arch/mips/aruba/nvram/nvram434.h linux-2.6.16-owrt/arch/mips/aruba/nvram/nvram434.h
+--- linux-2.6.16/arch/mips/aruba/nvram/nvram434.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/aruba/nvram/nvram434.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,66 @@
+/**************************************************************************
+ *
@@ -567,9 +567,9 @@ diff -Nur linux-2.6.15/arch/mips/aruba/nvram/nvram434.h linux-2.6.15-openwrt/arc
+#endif /* _NVRAM_ */
+
+
-diff -Nur linux-2.6.15/arch/mips/aruba/prom.c linux-2.6.15-openwrt/arch/mips/aruba/prom.c
---- linux-2.6.15/arch/mips/aruba/prom.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/aruba/prom.c 2006-01-10 00:32:32.000000000 +0100
+diff -Nur linux-2.6.16/arch/mips/aruba/prom.c linux-2.6.16-owrt/arch/mips/aruba/prom.c
+--- linux-2.6.16/arch/mips/aruba/prom.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/aruba/prom.c 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,111 @@
+/**************************************************************************
+ *
@@ -682,9 +682,9 @@ diff -Nur linux-2.6.15/arch/mips/aruba/prom.c linux-2.6.15-openwrt/arch/mips/aru
+{
+ printk("stubbed prom_free_prom_memory()\n");
+}
-diff -Nur linux-2.6.15/arch/mips/aruba/serial.c linux-2.6.15-openwrt/arch/mips/aruba/serial.c
---- linux-2.6.15/arch/mips/aruba/serial.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/aruba/serial.c 2006-01-10 00:32:32.000000000 +0100
+diff -Nur linux-2.6.16/arch/mips/aruba/serial.c linux-2.6.16-owrt/arch/mips/aruba/serial.c
+--- linux-2.6.16/arch/mips/aruba/serial.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/aruba/serial.c 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,94 @@
+/**************************************************************************
+ *
@@ -780,10 +780,10 @@ diff -Nur linux-2.6.15/arch/mips/aruba/serial.c linux-2.6.15-openwrt/arch/mips/a
+
+ return(0);
+}
-diff -Nur linux-2.6.15/arch/mips/aruba/setup.c linux-2.6.15-openwrt/arch/mips/aruba/setup.c
---- linux-2.6.15/arch/mips/aruba/setup.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/aruba/setup.c 2006-01-10 00:32:32.000000000 +0100
-@@ -0,0 +1,124 @@
+diff -Nur linux-2.6.16/arch/mips/aruba/setup.c linux-2.6.16-owrt/arch/mips/aruba/setup.c
+--- linux-2.6.16/arch/mips/aruba/setup.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/aruba/setup.c 2006-03-20 14:30:00.000000000 +0100
+@@ -0,0 +1,125 @@
+/**************************************************************************
+ *
+ * BRIEF MODULE DESCRIPTION
@@ -834,6 +834,7 @@ diff -Nur linux-2.6.15/arch/mips/aruba/setup.c linux-2.6.15-openwrt/arch/mips/ar
+#include <asm/reboot.h>
+#include <asm/addrspace.h> /* for KSEG1ADDR() */
+#include <asm/idt-boards/rc32434/rc32434.h>
++#include <linux/pm.h>
+
+extern char *__init prom_getcmdline(void);
+
@@ -881,7 +882,7 @@ diff -Nur linux-2.6.15/arch/mips/aruba/setup.c linux-2.6.15-openwrt/arch/mips/ar
+
+ _machine_restart = aruba_machine_restart;
+ _machine_halt = aruba_machine_halt;
-+ _machine_power_off = aruba_machine_halt;
++ pm_power_off = aruba_machine_halt;
+
+ set_io_port_base(KSEG1);
+
@@ -908,9 +909,9 @@ diff -Nur linux-2.6.15/arch/mips/aruba/setup.c linux-2.6.15-openwrt/arch/mips/ar
+{
+ return "MIPS IDT32434 - ARUBA";
+}
-diff -Nur linux-2.6.15/arch/mips/aruba/time.c linux-2.6.15-openwrt/arch/mips/aruba/time.c
---- linux-2.6.15/arch/mips/aruba/time.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/aruba/time.c 2006-01-10 00:32:32.000000000 +0100
+diff -Nur linux-2.6.16/arch/mips/aruba/time.c linux-2.6.16-owrt/arch/mips/aruba/time.c
+--- linux-2.6.16/arch/mips/aruba/time.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/aruba/time.c 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,108 @@
+/**************************************************************************
+ *
@@ -1020,9 +1021,9 @@ diff -Nur linux-2.6.15/arch/mips/aruba/time.c linux-2.6.15-openwrt/arch/mips/aru
+ timer_interrupt(irq, NULL, regs);
+ irq_exit();
+}
-diff -Nur linux-2.6.15/arch/mips/aruba/wdt_merlot.c linux-2.6.15-openwrt/arch/mips/aruba/wdt_merlot.c
---- linux-2.6.15/arch/mips/aruba/wdt_merlot.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/aruba/wdt_merlot.c 2006-01-10 00:32:32.000000000 +0100
+diff -Nur linux-2.6.16/arch/mips/aruba/wdt_merlot.c linux-2.6.16-owrt/arch/mips/aruba/wdt_merlot.c
+--- linux-2.6.16/arch/mips/aruba/wdt_merlot.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/aruba/wdt_merlot.c 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,30 @@
+#include <linux/config.h>
+#include <linux/kernel.h>
@@ -1054,9 +1055,9 @@ diff -Nur linux-2.6.15/arch/mips/aruba/wdt_merlot.c linux-2.6.15-openwrt/arch/mi
+ break;
+ }
+}
-diff -Nur linux-2.6.15/arch/mips/Kconfig linux-2.6.15-openwrt/arch/mips/Kconfig
---- linux-2.6.15/arch/mips/Kconfig 2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/Kconfig 2006-01-10 00:32:32.000000000 +0100
+diff -Nur linux-2.6.16/arch/mips/Kconfig linux-2.6.16-owrt/arch/mips/Kconfig
+--- linux-2.6.16/arch/mips/Kconfig 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/Kconfig 2006-03-20 14:25:10.000000000 +0100
@@ -227,6 +227,17 @@
either a NEC Vr5432 or QED RM5231. Say Y here if you wish to build
a kernel for this platform.
@@ -1075,10 +1076,10 @@ diff -Nur linux-2.6.15/arch/mips/Kconfig linux-2.6.15-openwrt/arch/mips/Kconfig
config MACH_JAZZ
bool "Support for the Jazz family of machines"
select ARC
-diff -Nur linux-2.6.15/arch/mips/Makefile linux-2.6.15-openwrt/arch/mips/Makefile
---- linux-2.6.15/arch/mips/Makefile 2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/Makefile 2006-01-10 00:32:32.000000000 +0100
-@@ -258,6 +258,14 @@
+diff -Nur linux-2.6.16/arch/mips/Makefile linux-2.6.16-owrt/arch/mips/Makefile
+--- linux-2.6.16/arch/mips/Makefile 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/Makefile 2006-03-20 14:25:10.000000000 +0100
+@@ -279,6 +279,14 @@
#
#
@@ -1093,9 +1094,9 @@ diff -Nur linux-2.6.15/arch/mips/Makefile linux-2.6.15-openwrt/arch/mips/Makefil
# Acer PICA 61, Mips Magnum 4000 and Olivetti M700.
#
core-$(CONFIG_MACH_JAZZ) += arch/mips/jazz/
-diff -Nur linux-2.6.15/arch/mips/mm/tlbex.c linux-2.6.15-openwrt/arch/mips/mm/tlbex.c
---- linux-2.6.15/arch/mips/mm/tlbex.c 2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/mm/tlbex.c 2006-01-10 00:32:32.000000000 +0100
+diff -Nur linux-2.6.16/arch/mips/mm/tlbex.c linux-2.6.16-owrt/arch/mips/mm/tlbex.c
+--- linux-2.6.16/arch/mips/mm/tlbex.c 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/mm/tlbex.c 2006-03-20 14:25:10.000000000 +0100
@@ -852,7 +852,6 @@
case CPU_R10000:
@@ -1112,10 +1113,10 @@ diff -Nur linux-2.6.15/arch/mips/mm/tlbex.c linux-2.6.15-openwrt/arch/mips/mm/tl
case CPU_4KEC:
case CPU_24K:
case CPU_34K:
-diff -Nur linux-2.6.15/drivers/net/Kconfig linux-2.6.15-openwrt/drivers/net/Kconfig
---- linux-2.6.15/drivers/net/Kconfig 2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/drivers/net/Kconfig 2006-01-10 00:32:32.000000000 +0100
-@@ -176,6 +176,13 @@
+diff -Nur linux-2.6.16/drivers/net/Kconfig linux-2.6.16-owrt/drivers/net/Kconfig
+--- linux-2.6.16/drivers/net/Kconfig 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/drivers/net/Kconfig 2006-03-20 14:25:10.000000000 +0100
+@@ -187,6 +187,13 @@
source "drivers/net/arm/Kconfig"
@@ -1129,20 +1130,101 @@ diff -Nur linux-2.6.15/drivers/net/Kconfig linux-2.6.15-openwrt/drivers/net/Kcon
config MACE
tristate "MACE (Power Mac ethernet) support"
depends on NET_ETHERNET && PPC_PMAC && PPC32
-diff -Nur linux-2.6.15/drivers/net/Makefile linux-2.6.15-openwrt/drivers/net/Makefile
---- linux-2.6.15/drivers/net/Makefile 2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/drivers/net/Makefile 2006-01-10 00:32:33.000000000 +0100
-@@ -190,6 +190,7 @@
- obj-$(CONFIG_SMC91X) += smc91x.o
- obj-$(CONFIG_DM9000) += dm9000.o
- obj-$(CONFIG_FEC_8XX) += fec_8xx/
+diff -Nur linux-2.6.16/drivers/net/Makefile linux-2.6.16-owrt/drivers/net/Makefile
+--- linux-2.6.16/drivers/net/Makefile 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/drivers/net/Makefile 2006-03-20 14:25:10.000000000 +0100
+@@ -38,6 +38,7 @@
+
+ obj-$(CONFIG_OAKNET) += oaknet.o 8390.o
+
+obj-$(CONFIG_IDT_RC32434_ETH) += rc32434_eth.o
+ obj-$(CONFIG_DGRS) += dgrs.o
+ obj-$(CONFIG_VORTEX) += 3c59x.o
+ obj-$(CONFIG_TYPHOON) += typhoon.o
+diff -Nur linux-2.6.16/drivers/net/natsemi.c linux-2.6.16-owrt/drivers/net/natsemi.c
+--- linux-2.6.16/drivers/net/natsemi.c 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/drivers/net/natsemi.c 2006-03-20 14:25:10.000000000 +0100
+@@ -771,6 +771,49 @@
+ static int netdev_get_eeprom(struct net_device *dev, u8 *buf);
+ static struct ethtool_ops ethtool_ops;
+
++#ifdef CONFIG_MACH_ARUBA
++
++#include <linux/ctype.h>
++
++#ifndef ERR
++#define ERR(fmt, args...) printk("%s: " fmt, __func__, ##args)
++#endif
++
++static int parse_mac_addr(struct net_device *dev, char* macstr)
++{
++ int i, j;
++ unsigned char result, value;
++
++ for (i=0; i<6; i++) {
++ result = 0;
++ if (i != 5 && *(macstr+2) != ':') {
++ ERR("invalid mac address format: %d %c\n",
++ i, *(macstr+2));
++ return -EINVAL;
++ }
++ for (j=0; j<2; j++) {
++ if (isxdigit(*macstr) && (value = isdigit(*macstr) ? *macstr-'0' :
++ toupper(*macstr)-'A'+10) < 16) {
++ result = result*16 + value;
++ macstr++;
++ }
++ else {
++ ERR("invalid mac address "
++ "character: %c\n", *macstr);
++ return -EINVAL;
++ }
++ }
++
++ macstr++;
++ dev->dev_addr[i] = result;
++ }
++
++ dev->dev_addr[5]++;
++ return 0;
++}
++
++#endif
++
+ static inline void __iomem *ns_ioaddr(struct net_device *dev)
+ {
+ return (void __iomem *) dev->base_addr;
+@@ -859,6 +902,7 @@
+ goto err_ioremap;
+ }
- obj-$(CONFIG_ARM) += arm/
- obj-$(CONFIG_DEV_APPLETALK) += appletalk/
-diff -Nur linux-2.6.15/drivers/net/rc32434_eth.c linux-2.6.15-openwrt/drivers/net/rc32434_eth.c
---- linux-2.6.15/drivers/net/rc32434_eth.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/drivers/net/rc32434_eth.c 2006-01-10 00:32:33.000000000 +0100
++#ifndef CONFIG_MACH_ARUBA
+ /* Work around the dropped serial bit. */
+ prev_eedata = eeprom_read(ioaddr, 6);
+ for (i = 0; i < 3; i++) {
+@@ -867,6 +911,19 @@
+ dev->dev_addr[i*2+1] = eedata >> 7;
+ prev_eedata = eedata;
+ }
++#else
++ {
++ char mac[32];
++ unsigned char def_mac[6] = {00, 0x0b, 0x86, 0xba, 0xdb, 0xad};
++ extern char *getenv(char *e);
++ memset(mac, 0, 32);
++ memcpy(mac, getenv("ethaddr"), 17);
++ if (parse_mac_addr(dev, mac)){
++ printk("%s: MAC address not found\n", __func__);
++ memcpy(dev->dev_addr, def_mac, 6);
++ }
++ }
++#endif
+
+ dev->base_addr = (unsigned long __force) ioaddr;
+ dev->irq = irq;
+diff -Nur linux-2.6.16/drivers/net/rc32434_eth.c linux-2.6.16-owrt/drivers/net/rc32434_eth.c
+--- linux-2.6.16/drivers/net/rc32434_eth.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/drivers/net/rc32434_eth.c 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,1268 @@
+/**************************************************************************
+ *
@@ -2412,9 +2494,9 @@ diff -Nur linux-2.6.15/drivers/net/rc32434_eth.c linux-2.6.15-openwrt/drivers/ne
+
+
+
-diff -Nur linux-2.6.15/drivers/net/rc32434_eth.h linux-2.6.15-openwrt/drivers/net/rc32434_eth.h
---- linux-2.6.15/drivers/net/rc32434_eth.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/drivers/net/rc32434_eth.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/drivers/net/rc32434_eth.h linux-2.6.16-owrt/drivers/net/rc32434_eth.h
+--- linux-2.6.16/drivers/net/rc32434_eth.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/drivers/net/rc32434_eth.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,187 @@
+/**************************************************************************
+ *
@@ -2603,9 +2685,9 @@ diff -Nur linux-2.6.15/drivers/net/rc32434_eth.h linux-2.6.15-openwrt/drivers/ne
+ rc32434_writel(0, &ch->dmadptr);
+ rc32434_writel(0, &ch->dmandptr);
+}
-diff -Nur linux-2.6.15/include/asm-mips/bootinfo.h linux-2.6.15-openwrt/include/asm-mips/bootinfo.h
---- linux-2.6.15/include/asm-mips/bootinfo.h 2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/bootinfo.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/bootinfo.h linux-2.6.16-owrt/include/asm-mips/bootinfo.h
+--- linux-2.6.16/include/asm-mips/bootinfo.h 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/bootinfo.h 2006-03-20 14:25:10.000000000 +0100
@@ -218,6 +218,17 @@
#define MACH_GROUP_TITAN 22 /* PMC-Sierra Titan */
#define MACH_TITAN_YOSEMITE 1 /* PMC-Sierra Yosemite */
@@ -2624,9 +2706,9 @@ diff -Nur linux-2.6.15/include/asm-mips/bootinfo.h linux-2.6.15-openwrt/include/
#define CL_SIZE COMMAND_LINE_SIZE
const char *get_system_type(void);
-diff -Nur linux-2.6.15/include/asm-mips/cpu.h linux-2.6.15-openwrt/include/asm-mips/cpu.h
---- linux-2.6.15/include/asm-mips/cpu.h 2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/cpu.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/cpu.h linux-2.6.16-owrt/include/asm-mips/cpu.h
+--- linux-2.6.16/include/asm-mips/cpu.h 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/cpu.h 2006-03-20 14:25:10.000000000 +0100
@@ -53,6 +53,9 @@
#define PRID_IMP_R12000 0x0e00
#define PRID_IMP_R8000 0x1000
@@ -2647,9 +2729,9 @@ diff -Nur linux-2.6.15/include/asm-mips/cpu.h linux-2.6.15-openwrt/include/asm-m
/*
* ISA Level encodings
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32300.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32300.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32300.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32300.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32300.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32300.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32300.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32300.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,142 @@
+/**************************************************************************
+ *
@@ -2793,9 +2875,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32300.h linux-2.6.1
+}
+
+#endif // __IDT_RC32300_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32334.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32334.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32334.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32334.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32334.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32334.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32334.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32334.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,207 @@
+/**************************************************************************
+ *
@@ -3004,9 +3086,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32334.h linux-2.6.1
+#define RAM_SIZE (32*1024*1024)
+
+#endif // __IDT_RC32334_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32355_dma.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32355_dma.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32355_dma.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32355_dma.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32355_dma.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32355_dma.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32355_dma.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32355_dma.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,206 @@
+/**************************************************************************
+ *
@@ -3214,9 +3296,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32355_dma.h linux-2
+ ((count) & DMADESC_COUNT_MASK)
+
+#endif /* RC32355_DMA_H */
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32355_eth.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32355_eth.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32355_eth.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32355_eth.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32355_eth.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32355_eth.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32355_eth.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32355_eth.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,442 @@
+/**************************************************************************
+ *
@@ -3660,9 +3742,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32355_eth.h linux-2
+
+#endif /* RC32355_ETHER_H */
+
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32355.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32355.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32355.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32355.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32355.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32355.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32355.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32355.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,177 @@
+/**************************************************************************
+ *
@@ -3841,9 +3923,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32355.h linux-2.6.1
+#define NVRAM_ENVSTART_OFF 32
+
+#endif /* _RC32355_H_ */
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_dma.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_dma.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_dma.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_dma.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32365_dma.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32365_dma.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32365_dma.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32365_dma.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,226 @@
+/**************************************************************************
+ *
@@ -4071,9 +4153,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_dma.h linux-2
+#endif // aws - Compatibility.
+
+#endif // __IDT_RC32365_DMA_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_dma_v.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_dma_v.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_dma_v.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_dma_v.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32365_dma_v.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32365_dma_v.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32365_dma_v.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32365_dma_v.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,86 @@
+/**************************************************************************
+ *
@@ -4161,9 +4243,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_dma_v.h linux
+ local_writel(dma_addr, &ch->dmandptr);
+}
+#endif //__IDT_RC32365_DMA_V_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_eth.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_eth.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_eth.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_eth.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32365_eth.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32365_eth.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32365_eth.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32365_eth.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,344 @@
+/**************************************************************************
+ *
@@ -4509,9 +4591,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_eth.h linux-2
+ u32 ipabmctx ;
+}volatile *IPABM_ETH_t;
+#endif //__IDT_RC32365_ETH_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_eth_v.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_eth_v.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_eth_v.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_eth_v.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32365_eth_v.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32365_eth_v.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32365_eth_v.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32365_eth_v.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,72 @@
+/**************************************************************************
+ *
@@ -4585,9 +4667,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_eth_v.h linux
+#define RCVPKT_LENGTH(X) (((X) & ETHRX_length_m) >> ETHRX_length_b) /* Length of the received packet */
+
+#endif //__IDT_RC32365_ETH_V_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_gpio.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_gpio.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_gpio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_gpio.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32365_gpio.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32365_gpio.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32365_gpio.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32365_gpio.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,181 @@
+/**************************************************************************
+ *
@@ -4770,9 +4852,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_gpio.h linux-
+} GPIO_DEFS_t;
+
+#endif //__IDT_RC32365_GPIO_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_gpio_v.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_gpio_v.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_gpio_v.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_gpio_v.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32365_gpio_v.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32365_gpio_v.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32365_gpio_v.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32365_gpio_v.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,91 @@
+/**************************************************************************
+ *
@@ -4865,9 +4947,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_gpio_v.h linu
+
+#endif //__IDT_RC32365_GPIO_V_H__
+
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32365.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32365.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32365.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32365.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,160 @@
+/**************************************************************************
+ *
@@ -5029,9 +5111,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365.h linux-2.6.1
+#define RAM_SIZE (32 * 1024 * 1024)
+
+#endif //__IDT_RC32365_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_pci.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_pci.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_pci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_pci.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32365_pci.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32365_pci.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32365_pci.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32365_pci.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,515 @@
+/**************************************************************************
+ *
@@ -5548,9 +5630,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_pci.h linux-2
+
+
+#endif // __IDT_RC32365_PCI_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_pci_v.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_pci_v.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_pci_v.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_pci_v.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32365_pci_v.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32365_pci_v.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32300/rc32365_pci_v.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32300/rc32365_pci_v.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,217 @@
+/**************************************************************************
+ *
@@ -5769,9 +5851,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_pci_v.h linux
+#define PCITC_RTIMER_VAL 0x10
+
+#endif //__IDT_RC32365_PCI_V_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_dma.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_dma.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_dma.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_dma.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_dma.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_dma.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_dma.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_dma.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,205 @@
+/**************************************************************************
+ *
@@ -5978,9 +6060,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_dma.h linux-2
+
+
+
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_dma_v.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_dma_v.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_dma_v.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_dma_v.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_dma_v.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_dma_v.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_dma_v.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_dma_v.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,89 @@
+/**************************************************************************
+ *
@@ -6071,9 +6153,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_dma_v.h linux
+
+
+
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_eth.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_eth.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_eth.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_eth.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_eth.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_eth.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_eth.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_eth.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,333 @@
+/**************************************************************************
+ *
@@ -6408,9 +6490,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_eth.h linux-2
+
+
+
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_eth_v.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_eth_v.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_eth_v.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_eth_v.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_eth_v.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_eth_v.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_eth_v.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_eth_v.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,77 @@
+/**************************************************************************
+ *
@@ -6489,9 +6571,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_eth_v.h linux
+
+
+
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_gpio.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_gpio.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_gpio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_gpio.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_gpio.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_gpio.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_gpio.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_gpio.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,167 @@
+/**************************************************************************
+ *
@@ -6660,9 +6742,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_gpio.h linux-
+
+#endif // __IDT_GPIO_H__
+
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,199 @@
+ /**************************************************************************
+ *
@@ -6863,9 +6945,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434.h linux-2.6.1
+
+
+
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_integ.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_integ.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_integ.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_integ.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_integ.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_integ.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_integ.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_integ.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,90 @@
+/**************************************************************************
+ *
@@ -6957,9 +7039,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_integ.h linux
+} ;
+
+#endif // __IDT_INTEG_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_int.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_int.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_int.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_int.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_int.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_int.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_int.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_int.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,174 @@
+/**************************************************************************
+ *
@@ -7135,9 +7217,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_int.h linux-2
+#endif // __IDT_INT_H__
+
+
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_iparb.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_iparb.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_iparb.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_iparb.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_iparb.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_iparb.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_iparb.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_iparb.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,111 @@
+/**************************************************************************
+ *
@@ -7250,9 +7332,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_iparb.h linux
+};
+
+#endif // __IDT_IPARB_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_pci.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_pci.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_pci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_pci.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_pci.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_pci.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_pci.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_pci.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,695 @@
+/**************************************************************************
+ *
@@ -7949,9 +8031,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_pci.h linux-2
+
+
+
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_rst.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_rst.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_rst.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_rst.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_rst.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_rst.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_rst.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_rst.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,119 @@
+/**************************************************************************
+ *
@@ -8072,9 +8154,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_rst.h linux-2
+ BCV_res15_m = 0x00008000,
+} ;
+#endif // __IDT_RST_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_spi.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_spi.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_spi.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_spi.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_spi.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_spi.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_spi.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_spi.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,120 @@
+/**************************************************************************
+ *
@@ -8196,9 +8278,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_spi.h linux-2
+ SIOD_pci_m = 0x00000008,
+} ;
+#endif // __IDT_SPI_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_timer.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_timer.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_timer.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_timer.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_timer.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_timer.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_timer.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_timer.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,91 @@
+/**************************************************************************
+ *
@@ -8291,9 +8373,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_timer.h linux
+} ;
+#endif // __IDT_TIM_H__
+
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_uart.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_uart.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_uart.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_uart.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_uart.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_uart.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32434/rc32434_uart.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32434/rc32434_uart.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,189 @@
+/**************************************************************************
+ *
@@ -8484,9 +8566,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_uart.h linux-
+} ;
+
+#endif // __IDT_UART_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_dma.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_dma.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_dma.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_dma.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32438/rc32438_dma.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32438/rc32438_dma.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32438/rc32438_dma.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32438/rc32438_dma.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,231 @@
+/**************************************************************************
+ *
@@ -8719,9 +8801,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_dma.h linux-2
+#endif // aws - Compatibility.
+
+#endif //__IDT_RC32438_DMA_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_dma_v.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_dma_v.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_dma_v.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_dma_v.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32438/rc32438_dma_v.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32438/rc32438_dma_v.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32438/rc32438_dma_v.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32438/rc32438_dma_v.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,82 @@
+/**************************************************************************
+ *
@@ -8805,9 +8887,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_dma_v.h linux
+ rc32438_writel(dma_addr, &ch->dmandptr);
+}
+#endif //__IDT_RC32438_DMA_V_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_eth.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_eth.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_eth.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_eth.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32438/rc32438_eth.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32438/rc32438_eth.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32438/rc32438_eth.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32438/rc32438_eth.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,328 @@
+/**************************************************************************
+ *
@@ -9137,9 +9219,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_eth.h linux-2
+ ETHTX_cc_m = 0x001E0000,
+} ;
+#endif //__IDT_RC32438_ETH_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_eth_v.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_eth_v.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_eth_v.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_eth_v.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32438/rc32438_eth_v.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32438/rc32438_eth_v.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32438/rc32438_eth_v.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32438/rc32438_eth_v.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,72 @@
+/**************************************************************************
+ *
@@ -9213,9 +9295,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_eth_v.h linux
+#define RCVPKT_LENGTH(X) (((X) & ETHRX_length_m) >> ETHRX_length_b) /* Length of the received packet */
+
+#endif //__IDT_RC32438_ETH_V_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_gpio.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_gpio.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_gpio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_gpio.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32438/rc32438_gpio.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32438/rc32438_gpio.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32438/rc32438_gpio.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32438/rc32438_gpio.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,257 @@
+/**************************************************************************
+ *
@@ -9474,9 +9556,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_gpio.h linux-
+} GPIO_DEFS_t;
+
+#endif //__IDT_RC32438_GPIO_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32438/rc32438.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32438/rc32438.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32438/rc32438.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32438/rc32438.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,152 @@
+/**************************************************************************
+ *
@@ -9630,9 +9712,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438.h linux-2.6.1
+ return ret;
+}
+#endif //__IDT_RC32438_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_pci.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_pci.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_pci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_pci.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32438/rc32438_pci.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32438/rc32438_pci.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32438/rc32438_pci.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32438/rc32438_pci.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,510 @@
+/**************************************************************************
+ *
@@ -10144,9 +10226,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_pci.h linux-2
+ PCIM_db_m = 0x00000004, // inbound or outbound doorbell
+};
+
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_pci_v.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_pci_v.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_pci_v.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_pci_v.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32438/rc32438_pci_v.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32438/rc32438_pci_v.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32438/rc32438_pci_v.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32438/rc32438_pci_v.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,190 @@
+/**************************************************************************
+ *
@@ -10338,9 +10420,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_pci_v.h linux
+#define PCITC_DTIMER_VAL 8
+#define PCITC_RTIMER_VAL 0x10
+
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_timer.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_timer.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_timer.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_timer.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/idt-boards/rc32438/rc32438_timer.h linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32438/rc32438_timer.h
+--- linux-2.6.16/include/asm-mips/idt-boards/rc32438/rc32438_timer.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/idt-boards/rc32438/rc32438_timer.h 2006-03-20 14:25:10.000000000 +0100
@@ -0,0 +1,91 @@
+/**************************************************************************
+ *
@@ -10433,9 +10515,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_timer.h linux
+} ;
+#endif //__IDT_RC32438_TIM_H__
+
-diff -Nur linux-2.6.15/include/asm-mips/mach-generic/irq.h linux-2.6.15-openwrt/include/asm-mips/mach-generic/irq.h
---- linux-2.6.15/include/asm-mips/mach-generic/irq.h 2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/mach-generic/irq.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/mach-generic/irq.h linux-2.6.16-owrt/include/asm-mips/mach-generic/irq.h
+--- linux-2.6.16/include/asm-mips/mach-generic/irq.h 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/mach-generic/irq.h 2006-03-20 14:25:10.000000000 +0100
@@ -8,6 +8,6 @@
#ifndef __ASM_MACH_GENERIC_IRQ_H
#define __ASM_MACH_GENERIC_IRQ_H
@@ -10444,9 +10526,9 @@ diff -Nur linux-2.6.15/include/asm-mips/mach-generic/irq.h linux-2.6.15-openwrt/
+#define NR_IRQS 256
#endif /* __ASM_MACH_GENERIC_IRQ_H */
-diff -Nur linux-2.6.15/include/linux/init.h linux-2.6.15-openwrt/include/linux/init.h
---- linux-2.6.15/include/linux/init.h 2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/include/linux/init.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.16/include/linux/init.h linux-2.6.16-owrt/include/linux/init.h
+--- linux-2.6.16/include/linux/init.h 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/init.h 2006-03-20 14:25:10.000000000 +0100
@@ -86,6 +86,8 @@
static initcall_t __initcall_##fn __attribute_used__ \
__attribute__((__section__(".initcall" level ".init"))) = fn
@@ -10456,129 +10538,14 @@ diff -Nur linux-2.6.15/include/linux/init.h linux-2.6.15-openwrt/include/linux/i
#define core_initcall(fn) __define_initcall("1",fn)
#define postcore_initcall(fn) __define_initcall("2",fn)
#define arch_initcall(fn) __define_initcall("3",fn)
-diff -Nur linux-2.6.15/include/linux/kernel.h linux-2.6.15-openwrt/include/linux/kernel.h
---- linux-2.6.15/include/linux/kernel.h 2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/include/linux/kernel.h 2006-01-10 00:32:33.000000000 +0100
-@@ -307,6 +307,7 @@
+diff -Nur linux-2.6.16/include/linux/kernel.h linux-2.6.16-owrt/include/linux/kernel.h
+--- linux-2.6.16/include/linux/kernel.h 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/kernel.h 2006-03-20 14:25:10.000000000 +0100
+@@ -324,6 +324,7 @@
};
/* Force a compilation error if condition is true */
+extern void BUILD_BUG(void);
#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
- #ifdef CONFIG_SYSCTL
-diff -Nur linux-2.6.15/Makefile linux-2.6.15-openwrt/Makefile
---- linux-2.6.15/Makefile 2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/Makefile 2006-01-10 00:32:33.000000000 +0100
-@@ -166,10 +166,7 @@
- # then ARCH is assigned, getting whatever value it gets normally, and
- # SUBARCH is subsequently ignored.
-
--SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
-- -e s/arm.*/arm/ -e s/sa110/arm/ \
-- -e s/s390x/s390/ -e s/parisc64/parisc/ \
-- -e s/ppc64/powerpc/ )
-+SUBARCH := mips
-
- # Cross compiling and selecting different set of gcc/bin-utils
- # ---------------------------------------------------------------------------
-diff -Nur linux-2.6.15/drivers/net/natsemi.c linux-2.6.15-openwrt/drivers/net/natsemi.c
---- linux-2.6.15/drivers/net/natsemi.c 2006-01-02 19:21:10.000000000 -0800
-+++ linux-2.6.15-openwrt/drivers/net/natsemi.c 2006-01-10 07:29:49.581994000 -0800
-@@ -771,6 +771,49 @@
- static int netdev_get_eeprom(struct net_device *dev, u8 *buf);
- static struct ethtool_ops ethtool_ops;
-
-+#ifdef CONFIG_MACH_ARUBA
-+
-+#include <linux/ctype.h>
-+
-+#ifndef ERR
-+#define ERR(fmt, args...) printk("%s: " fmt, __func__, ##args)
-+#endif
-+
-+static int parse_mac_addr(struct net_device *dev, char* macstr)
-+{
-+ int i, j;
-+ unsigned char result, value;
-+
-+ for (i=0; i<6; i++) {
-+ result = 0;
-+ if (i != 5 && *(macstr+2) != ':') {
-+ ERR("invalid mac address format: %d %c\n",
-+ i, *(macstr+2));
-+ return -EINVAL;
-+ }
-+ for (j=0; j<2; j++) {
-+ if (isxdigit(*macstr) && (value = isdigit(*macstr) ? *macstr-'0' :
-+ toupper(*macstr)-'A'+10) < 16) {
-+ result = result*16 + value;
-+ macstr++;
-+ }
-+ else {
-+ ERR("invalid mac address "
-+ "character: %c\n", *macstr);
-+ return -EINVAL;
-+ }
-+ }
-+
-+ macstr++;
-+ dev->dev_addr[i] = result;
-+ }
-+
-+ dev->dev_addr[5]++;
-+ return 0;
-+}
-+
-+#endif
-+
- static inline void __iomem *ns_ioaddr(struct net_device *dev)
- {
- return (void __iomem *) dev->base_addr;
-@@ -859,6 +902,7 @@
- goto err_ioremap;
- }
-
-+#ifndef CONFIG_MACH_ARUBA
- /* Work around the dropped serial bit. */
- prev_eedata = eeprom_read(ioaddr, 6);
- for (i = 0; i < 3; i++) {
-@@ -867,6 +911,19 @@
- dev->dev_addr[i*2+1] = eedata >> 7;
- prev_eedata = eedata;
- }
-+#else
-+ {
-+ char mac[32];
-+ unsigned char def_mac[6] = {00, 0x0b, 0x86, 0xba, 0xdb, 0xad};
-+ extern char *getenv(char *e);
-+ memset(mac, 0, 32);
-+ memcpy(mac, getenv("ethaddr"), 17);
-+ if (parse_mac_addr(dev, mac)){
-+ printk("%s: MAC address not found\n", __func__);
-+ memcpy(dev->dev_addr, def_mac, 6);
-+ }
-+ }
-+#endif
-
- dev->base_addr = (unsigned long __force) ioaddr;
- dev->irq = irq;
-diff -Nur linux-2.6.15/drivers/net/Makefile linux-2.6.15-openwrt/drivers/net/Makefile
---- linux-2.6.15/drivers/net/Makefile 2006-01-13 09:19:55.000000000 -0800
-+++ linux-2.6.15-openwrt/drivers/net/Makefile 2006-01-09 20:44:10.378339000 -0800
-@@ -35,6 +35,7 @@
-
- obj-$(CONFIG_OAKNET) += oaknet.o 8390.o
-
-+obj-$(CONFIG_IDT_RC32434_ETH) += rc32434_eth.o
- obj-$(CONFIG_DGRS) += dgrs.o
- obj-$(CONFIG_VORTEX) += 3c59x.o
- obj-$(CONFIG_TYPHOON) += typhoon.o
-@@ -190,7 +189,6 @@
- obj-$(CONFIG_SMC91X) += smc91x.o
- obj-$(CONFIG_DM9000) += dm9000.o
- obj-$(CONFIG_FEC_8XX) += fec_8xx/
--obj-$(CONFIG_IDT_RC32434_ETH) += rc32434_eth.o
-
- obj-$(CONFIG_ARM) += arm/
- obj-$(CONFIG_DEV_APPLETALK) += appletalk/
+ /* Trap pasters of __FUNCTION__ at compile-time */
diff --git a/openwrt/target/linux/brcm-2.6/Makefile b/openwrt/target/linux/brcm-2.6/Makefile
index 5514e478da..e0697cbb59 100644
--- a/openwrt/target/linux/brcm-2.6/Makefile
+++ b/openwrt/target/linux/brcm-2.6/Makefile
@@ -1,8 +1,8 @@
include $(TOPDIR)/rules.mk
-LINUX_VERSION:=2.6.15.6
+LINUX_VERSION:=2.6.16
LINUX_RELEASE:=1
-LINUX_KERNEL_MD5SUM:=2ea7c865d6c09a02cbe6ce5fddcd02ca
+LINUX_KERNEL_MD5SUM:=9a91b2719949ff0856b40bc467fd47be
include ../rules.mk
include ./config
diff --git a/openwrt/target/linux/brcm-2.6/config b/openwrt/target/linux/brcm-2.6/config
index 7d2187942d..d87ec96977 100644
--- a/openwrt/target/linux/brcm-2.6/config
+++ b/openwrt/target/linux/brcm-2.6/config
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.15
-# Mon Jan 16 04:38:41 2006
+# Linux kernel version: 2.6.16
+# Tue Mar 21 00:25:31 2006
#
CONFIG_MIPS=y
@@ -119,6 +119,7 @@ CONFIG_CPU_HAS_LLSC=y
CONFIG_CPU_HAS_SYNC=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_CPU_SUPPORTS_HIGHMEM=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
@@ -136,7 +137,6 @@ CONFIG_PREEMPT_NONE=y
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
-CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
@@ -151,15 +151,15 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
-CONFIG_HOTPLUG=y
-CONFIG_KOBJECT_UEVENT=y
# CONFIG_IKCONFIG is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_EMBEDDED=y
# CONFIG_KALLSYMS is not set
+CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
+# CONFIG_ELF_CORE is not set
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
@@ -168,8 +168,11 @@ CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_SLAB is not set
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
+CONFIG_SLOB=y
+CONFIG_OBSOLETE_INTERMODULE=y
#
# Loadable module support
@@ -222,6 +225,10 @@ CONFIG_CARDBUS=y
# PC-card bridges
#
CONFIG_YENTA=m
+# CONFIG_YENTA_O2 is not set
+# CONFIG_YENTA_RICOH is not set
+# CONFIG_YENTA_TI is not set
+# CONFIG_YENTA_TOSHIBA is not set
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
CONFIG_PCCARD_NONSTATIC=m
@@ -246,6 +253,7 @@ CONFIG_NET=y
#
# Networking options
#
+# CONFIG_NETDEBUG is not set
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
@@ -283,6 +291,7 @@ CONFIG_TCP_CONG_ADVANCED=y
# TCP congestion control
#
CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=m
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
CONFIG_TCP_CONG_HSTCP=m
@@ -309,6 +318,27 @@ CONFIG_NETFILTER=y
# Core Netfilter Configuration
#
# CONFIG_NETFILTER_NETLINK is not set
+CONFIG_NETFILTER_XTABLES=y
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
+# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
+# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
+# CONFIG_NETFILTER_XT_MATCH_REALM is not set
+# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
+CONFIG_NETFILTER_XT_MATCH_STATE=y
+# CONFIG_NETFILTER_XT_MATCH_STRING is not set
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
#
# IP: Netfilter Configuration
@@ -326,50 +356,34 @@ CONFIG_IP_NF_AMANDA=m
CONFIG_IP_NF_PPTP=m
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=y
-CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_IPRANGE=m
-CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_LAYER7=m
# CONFIG_IP_NF_MATCH_LAYER7_DEBUG is not set
-CONFIG_IP_NF_MATCH_PKTTYPE=m
-CONFIG_IP_NF_MATCH_MARK=y
-CONFIG_IP_NF_MATCH_MULTIPORT=y
+CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_TIME=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m
-CONFIG_IP_NF_MATCH_LENGTH=m
CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_MATCH_TCPMSS=m
-CONFIG_IP_NF_MATCH_HELPER=m
-CONFIG_IP_NF_MATCH_STATE=y
-CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_IP_NF_MATCH_OWNER=m
# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
-# CONFIG_IP_NF_MATCH_REALM is not set
-# CONFIG_IP_NF_MATCH_SCTP is not set
-# CONFIG_IP_NF_MATCH_DCCP is not set
-# CONFIG_IP_NF_MATCH_COMMENT is not set
-CONFIG_IP_NF_MATCH_CONNMARK=m
-# CONFIG_IP_NF_MATCH_CONNBYTES is not set
# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
-CONFIG_IP_NF_MATCH_STRING=m
+# CONFIG_IP_NF_MATCH_POLICY is not set
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_IMQ=m
-CONFIG_IP_NF_TARGET_LOG=m
+# CONFIG_IP_NF_TARGET_LOG is not set
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=y
-# CONFIG_IP_NF_TARGET_NFQUEUE is not set
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=y
+# CONFIG_IP_NF_TARGET_NETMAP is not set
# CONFIG_IP_NF_TARGET_SAME is not set
-CONFIG_IP_NF_NAT_SNMP_BASIC=m
+# CONFIG_IP_NF_NAT_SNMP_BASIC is not set
CONFIG_IP_NF_NAT_IRC=y
CONFIG_IP_NF_NAT_FTP=y
CONFIG_IP_NF_NAT_TFTP=m
@@ -379,15 +393,10 @@ CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_DSCP=m
-CONFIG_IP_NF_TARGET_MARK=y
-# CONFIG_IP_NF_TARGET_CLASSIFY is not set
CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_TARGET_CONNMARK=m
# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
# CONFIG_IP_NF_RAW is not set
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
+# CONFIG_IP_NF_ARPTABLES is not set
CONFIG_IP_NF_SET=m
CONFIG_IP_NF_SET_MAX=256
CONFIG_IP_NF_SET_HASHSIZE=1024
@@ -405,26 +414,21 @@ CONFIG_IP_NF_TARGET_SET=m
#
CONFIG_IP6_NF_QUEUE=m
CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MATCH_LIMIT=m
-CONFIG_IP6_NF_MATCH_MAC=m
# CONFIG_IP6_NF_MATCH_RT is not set
# CONFIG_IP6_NF_MATCH_OPTS is not set
# CONFIG_IP6_NF_MATCH_FRAG is not set
# CONFIG_IP6_NF_MATCH_HL is not set
CONFIG_IP6_NF_MATCH_MULTIPORT=m
CONFIG_IP6_NF_MATCH_OWNER=m
-CONFIG_IP6_NF_MATCH_MARK=m
# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set
# CONFIG_IP6_NF_MATCH_AHESP is not set
-CONFIG_IP6_NF_MATCH_LENGTH=m
CONFIG_IP6_NF_MATCH_EUI64=m
+# CONFIG_IP6_NF_MATCH_POLICY is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_IMQ=m
-CONFIG_IP6_NF_TARGET_LOG=m
+# CONFIG_IP6_NF_TARGET_LOG is not set
CONFIG_IP6_NF_TARGET_REJECT=m
-# CONFIG_IP6_NF_TARGET_NFQUEUE is not set
CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_TARGET_MARK=m
# CONFIG_IP6_NF_TARGET_HL is not set
# CONFIG_IP6_NF_RAW is not set
@@ -461,6 +465,11 @@ CONFIG_BRIDGE_EBT_ULOG=m
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
CONFIG_ATM=m
CONFIG_ATM_CLIP=m
CONFIG_ATM_CLIP_NO_ICMP=y
@@ -643,6 +652,7 @@ CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
#
# Mapping drivers for chip access
@@ -769,13 +779,7 @@ CONFIG_BLK_DEV_SD=m
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
-CONFIG_SCSI_QLA2XXX=m
-# CONFIG_SCSI_QLA21XX is not set
-# CONFIG_SCSI_QLA22XX is not set
-# CONFIG_SCSI_QLA2300 is not set
-# CONFIG_SCSI_QLA2322 is not set
-# CONFIG_SCSI_QLA6312 is not set
-# CONFIG_SCSI_QLA24XX is not set
+# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
@@ -848,6 +852,7 @@ CONFIG_MII=y
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_DM9000 is not set
#
# Tulip family network device support
@@ -887,6 +892,7 @@ CONFIG_B44=y
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
+# CONFIG_SKY2 is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set
@@ -926,8 +932,9 @@ CONFIG_NET_RADIO=y
#
CONFIG_IPW2100=m
CONFIG_IPW2100_MONITOR=y
-# CONFIG_IPW_DEBUG is not set
+# CONFIG_IPW2100_DEBUG is not set
CONFIG_IPW2200=m
+# CONFIG_IPW2200_DEBUG is not set
# CONFIG_HERMES is not set
# CONFIG_ATMEL is not set
@@ -943,6 +950,7 @@ CONFIG_IPW2200=m
# CONFIG_PRISM54 is not set
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_FIRMWARE_NVRAM=y
CONFIG_HOSTAP_PLX=m
CONFIG_HOSTAP_PCI=m
CONFIG_HOSTAP_CS=m
@@ -1045,6 +1053,7 @@ CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_CS=m
CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
# CONFIG_SERIAL_8250_EXTENDED is not set
#
@@ -1096,6 +1105,12 @@ CONFIG_UNIX98_PTYS=y
# CONFIG_I2C is not set
#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set
@@ -1126,6 +1141,7 @@ CONFIG_VIDEO_DEV=m
#
# Video Adapters
#
+# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_CPIA is not set
# CONFIG_VIDEO_STRADIS is not set
# CONFIG_VIDEO_MXB is not set
@@ -1166,6 +1182,8 @@ CONFIG_SND_RAWMIDI=m
# CONFIG_SND_SEQUENCER is not set
# CONFIG_SND_MIXER_OSS is not set
# CONFIG_SND_PCM_OSS is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+# CONFIG_SND_SUPPORT_OLD_API is not set
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
@@ -1180,6 +1198,7 @@ CONFIG_SND_RAWMIDI=m
#
# PCI devices
#
+# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
@@ -1188,38 +1207,38 @@ CONFIG_SND_RAWMIDI=m
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
-# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
-# CONFIG_SND_CA0106 is not set
-# CONFIG_SND_KORG1212 is not set
-# CONFIG_SND_MIXART is not set
-# CONFIG_SND_NM256 is not set
-# CONFIG_SND_RME32 is not set
-# CONFIG_SND_RME96 is not set
-# CONFIG_SND_RME9652 is not set
-# CONFIG_SND_HDSP is not set
-# CONFIG_SND_HDSPM is not set
-# CONFIG_SND_TRIDENT is not set
-# CONFIG_SND_YMFPCI is not set
-# CONFIG_SND_AD1889 is not set
-# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
-# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VX222 is not set
-# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_YMFPCI is not set
#
# ALSA MIPS devices
@@ -1291,7 +1310,9 @@ CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_LIBUSUAL is not set
#
# USB Input Devices
@@ -1314,6 +1335,7 @@ CONFIG_USB_STORAGE=m
# CONFIG_USB_YEALINK is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set
+# CONFIG_USB_ATI_REMOTE2 is not set
# CONFIG_USB_KEYSPAN_REMOTE is not set
# CONFIG_USB_APPLETOUCH is not set
@@ -1329,6 +1351,7 @@ CONFIG_USB_STORAGE=m
# CONFIG_USB_DABUSB is not set
# CONFIG_USB_VICAM is not set
# CONFIG_USB_DSBR is not set
+# CONFIG_USB_ET61X251 is not set
# CONFIG_USB_IBMCAM is not set
# CONFIG_USB_KONICAWC is not set
# CONFIG_USB_OV511 is not set
@@ -1411,6 +1434,7 @@ CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
# CONFIG_USB_CXACRU is not set
+# CONFIG_USB_UEAGLEATM is not set
# CONFIG_USB_XUSBATM is not set
#
@@ -1429,7 +1453,7 @@ CONFIG_USB_SPEEDTOUCH=m
# CONFIG_INFINIBAND is not set
#
-# SN Devices
+# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
#
#
@@ -1457,6 +1481,7 @@ CONFIG_XFS_FS=m
# CONFIG_XFS_SECURITY is not set
# CONFIG_XFS_POSIX_ACL is not set
# CONFIG_XFS_RT is not set
+# CONFIG_OCFS2_FS is not set
CONFIG_MINIX_FS=m
# CONFIG_ROMFS_FS is not set
CONFIG_INOTIFY=y
@@ -1495,6 +1520,7 @@ CONFIG_TMPFS=y
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
# CONFIG_RELAYFS_FS is not set
+# CONFIG_CONFIGFS_FS is not set
#
# Miscellaneous filesystems
@@ -1574,6 +1600,7 @@ CONFIG_MSDOS_PARTITION=y
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
#
@@ -1629,6 +1656,7 @@ CONFIG_NLS_UTF8=m
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
+# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_DEBUG_KERNEL is not set
CONFIG_LOG_BUF_SHIFT=14
CONFIG_CROSSCOMPILE=y
@@ -1682,7 +1710,3 @@ CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
-CONFIG_TEXTSEARCH=y
-CONFIG_TEXTSEARCH_KMP=m
-CONFIG_TEXTSEARCH_BM=m
-CONFIG_TEXTSEARCH_FSM=m
diff --git a/openwrt/target/linux/brcm-2.6/patches/001-bcm947xx.patch b/openwrt/target/linux/brcm-2.6/patches/001-bcm947xx.patch
index 9c9c5f09a5..771ea71b7f 100644
--- a/openwrt/target/linux/brcm-2.6/patches/001-bcm947xx.patch
+++ b/openwrt/target/linux/brcm-2.6/patches/001-bcm947xx.patch
@@ -1,64 +1,6 @@
-diff -urN linux.old/arch/mips/Kconfig linux.dev/arch/mips/Kconfig
---- linux.old/arch/mips/Kconfig 2006-01-12 00:25:32.203973000 +0100
-+++ linux.dev/arch/mips/Kconfig 2006-01-12 00:20:30.697130000 +0100
-@@ -244,6 +244,17 @@
- Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
- Olivetti M700-10 workstations.
-
-+config BCM947XX
-+ bool "Support for BCM947xx based boards"
-+ select DMA_NONCOHERENT
-+ select HW_HAS_PCI
-+ select IRQ_CPU
-+ select SYS_HAS_CPU_MIPS32_R1
-+ select SYS_SUPPORTS_32BIT_KERNEL
-+ select SYS_SUPPORTS_LITTLE_ENDIAN
-+ help
-+ Support for BCM947xx based boards
-+
- config LASAT
- bool "Support for LASAT Networks platforms"
- select DMA_NONCOHERENT
-diff -urN linux.old/arch/mips/Makefile linux.dev/arch/mips/Makefile
---- linux.old/arch/mips/Makefile 2006-01-12 00:25:32.223974250 +0100
-+++ linux.dev/arch/mips/Makefile 2006-01-12 00:20:30.701130250 +0100
-@@ -689,6 +689,13 @@
- load-$(CONFIG_SIBYTE_BIGSUR) := 0xffffffff80100000
-
- #
-+# Broadcom BCM47XX boards
-+#
-+core-$(CONFIG_BCM947XX) += arch/mips/bcm947xx/ arch/mips/bcm947xx/broadcom/
-+cflags-$(CONFIG_BCM947XX) += -Iarch/mips/bcm947xx/include
-+load-$(CONFIG_BCM947XX) := 0xffffffff80001000
-+
-+#
- # SNI RM200 PCI
- #
- core-$(CONFIG_SNI_RM200_PCI) += arch/mips/sni/
-diff -urN linux.old/arch/mips/bcm947xx/Makefile linux.dev/arch/mips/bcm947xx/Makefile
---- linux.old/arch/mips/bcm947xx/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/Makefile 2006-01-12 00:20:30.701130250 +0100
-@@ -0,0 +1,6 @@
-+#
-+# Makefile for the BCM47xx specific kernel interface routines
-+# under Linux.
-+#
-+
-+obj-y := irq.o int-handler.o prom.o setup.o time.o pci.o
-diff -urN linux.old/arch/mips/bcm947xx/broadcom/Makefile linux.dev/arch/mips/bcm947xx/broadcom/Makefile
---- linux.old/arch/mips/bcm947xx/broadcom/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/broadcom/Makefile 2006-01-12 00:20:30.713131000 +0100
-@@ -0,0 +1,6 @@
-+#
-+# Makefile for the BCM47xx specific kernel interface routines
-+# under Linux.
-+#
-+
-+obj-y := sbutils.o linux_osl.o bcmsrom.o bcmutils.o sbmips.o sbpci.o sflash.o nvram.o cfe_env.o
-diff -urN linux.old/arch/mips/bcm947xx/broadcom/bcmsrom.c linux.dev/arch/mips/bcm947xx/broadcom/bcmsrom.c
---- linux.old/arch/mips/bcm947xx/broadcom/bcmsrom.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/broadcom/bcmsrom.c 2006-01-12 00:20:30.717131250 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/broadcom/bcmsrom.c linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/bcmsrom.c
+--- linux-2.6.16/arch/mips/bcm947xx/broadcom/bcmsrom.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/bcmsrom.c 2006-03-21 09:30:59.000000000 +0100
@@ -0,0 +1,481 @@
+/*
+ * Misc useful routines to access NIC SROM/OTP .
@@ -541,9 +483,9 @@ diff -urN linux.old/arch/mips/bcm947xx/broadcom/bcmsrom.c linux.dev/arch/mips/bc
+ return err;
+}
+
-diff -urN linux.old/arch/mips/bcm947xx/broadcom/bcmutils.c linux.dev/arch/mips/bcm947xx/broadcom/bcmutils.c
---- linux.old/arch/mips/bcm947xx/broadcom/bcmutils.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/broadcom/bcmutils.c 2006-01-12 00:20:30.717131250 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/broadcom/bcmutils.c linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/bcmutils.c
+--- linux-2.6.16/arch/mips/bcm947xx/broadcom/bcmutils.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/bcmutils.c 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,356 @@
+/*
+ * Misc useful OS-independent routines.
@@ -901,9 +843,9 @@ diff -urN linux.old/arch/mips/bcm947xx/broadcom/bcmutils.c linux.dev/arch/mips/b
+#define CNBUFS 5
+
+#endif
-diff -urN linux.old/arch/mips/bcm947xx/broadcom/cfe_env.c linux.dev/arch/mips/bcm947xx/broadcom/cfe_env.c
---- linux.old/arch/mips/bcm947xx/broadcom/cfe_env.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/broadcom/cfe_env.c 2006-01-12 00:20:30.717131250 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/broadcom/cfe_env.c linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/cfe_env.c
+--- linux-2.6.16/arch/mips/bcm947xx/broadcom/cfe_env.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/cfe_env.c 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,234 @@
+/*
+ * NVRAM variable manipulation (Linux kernel half)
@@ -1139,9 +1081,9 @@ diff -urN linux.old/arch/mips/bcm947xx/broadcom/cfe_env.c linux.dev/arch/mips/bc
+
+}
+
-diff -urN linux.old/arch/mips/bcm947xx/broadcom/linux_osl.c linux.dev/arch/mips/bcm947xx/broadcom/linux_osl.c
---- linux.old/arch/mips/bcm947xx/broadcom/linux_osl.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/broadcom/linux_osl.c 2006-01-12 00:20:30.717131250 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/broadcom/linux_osl.c linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/linux_osl.c
+--- linux-2.6.16/arch/mips/bcm947xx/broadcom/linux_osl.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/linux_osl.c 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,102 @@
+/*
+ * Linux OS Independent Layer
@@ -1245,9 +1187,19 @@ diff -urN linux.old/arch/mips/bcm947xx/broadcom/linux_osl.c linux.dev/arch/mips/
+ }
+}
+
-diff -urN linux.old/arch/mips/bcm947xx/broadcom/nvram.c linux.dev/arch/mips/bcm947xx/broadcom/nvram.c
---- linux.old/arch/mips/bcm947xx/broadcom/nvram.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/broadcom/nvram.c 2006-01-12 00:20:30.717131250 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/broadcom/Makefile linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/Makefile
+--- linux-2.6.16/arch/mips/bcm947xx/broadcom/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/Makefile 2006-03-21 09:31:00.000000000 +0100
+@@ -0,0 +1,6 @@
++#
++# Makefile for the BCM47xx specific kernel interface routines
++# under Linux.
++#
++
++obj-y := sbutils.o linux_osl.o bcmsrom.o bcmutils.o sbmips.o sbpci.o sflash.o nvram.o cfe_env.o
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/broadcom/nvram.c linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/nvram.c
+--- linux-2.6.16/arch/mips/bcm947xx/broadcom/nvram.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/nvram.c 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,192 @@
+/*
+ * NVRAM variable manipulation (Linux kernel half)
@@ -1441,9 +1393,9 @@ diff -urN linux.old/arch/mips/bcm947xx/broadcom/nvram.c linux.dev/arch/mips/bcm9
+}
+
+EXPORT_SYMBOL(nvram_get);
-diff -urN linux.old/arch/mips/bcm947xx/broadcom/sbmips.c linux.dev/arch/mips/bcm947xx/broadcom/sbmips.c
---- linux.old/arch/mips/bcm947xx/broadcom/sbmips.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/broadcom/sbmips.c 2006-01-12 00:27:27.399172250 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/broadcom/sbmips.c linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/sbmips.c
+--- linux-2.6.16/arch/mips/bcm947xx/broadcom/sbmips.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/sbmips.c 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,1055 @@
+/*
+ * BCM47XX Sonics SiliconBackplane MIPS core routines
@@ -2500,9 +2452,9 @@ diff -urN linux.old/arch/mips/bcm947xx/broadcom/sbmips.c linux.dev/arch/mips/bcm
+ return ret;
+}
+
-diff -urN linux.old/arch/mips/bcm947xx/broadcom/sbpci.c linux.dev/arch/mips/bcm947xx/broadcom/sbpci.c
---- linux.old/arch/mips/bcm947xx/broadcom/sbpci.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/broadcom/sbpci.c 2006-01-12 00:52:25.864820500 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/broadcom/sbpci.c linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/sbpci.c
+--- linux-2.6.16/arch/mips/bcm947xx/broadcom/sbpci.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/sbpci.c 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,534 @@
+/*
+ * Low-Level PCI and SB support for BCM47xx
@@ -3038,9 +2990,9 @@ diff -urN linux.old/arch/mips/bcm947xx/broadcom/sbpci.c linux.dev/arch/mips/bcm9
+ return 0;
+}
+
-diff -urN linux.old/arch/mips/bcm947xx/broadcom/sbutils.c linux.dev/arch/mips/bcm947xx/broadcom/sbutils.c
---- linux.old/arch/mips/bcm947xx/broadcom/sbutils.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/broadcom/sbutils.c 2006-01-12 00:20:30.725131750 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/broadcom/sbutils.c linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/sbutils.c
+--- linux-2.6.16/arch/mips/bcm947xx/broadcom/sbutils.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/sbutils.c 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,2370 @@
+/*
+ * Misc utility routines for accessing chip-specific features
@@ -5412,9 +5364,9 @@ diff -urN linux.old/arch/mips/bcm947xx/broadcom/sbutils.c linux.dev/arch/mips/bc
+EXPORT_SYMBOL(sb_gpiosetcore);
+EXPORT_SYMBOL(sb_gpiotimerval);
+EXPORT_SYMBOL(sb_watchdog);
-diff -urN linux.old/arch/mips/bcm947xx/broadcom/sflash.c linux.dev/arch/mips/bcm947xx/broadcom/sflash.c
---- linux.old/arch/mips/bcm947xx/broadcom/sflash.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/broadcom/sflash.c 2006-01-12 00:20:30.725131750 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/broadcom/sflash.c linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/sflash.c
+--- linux-2.6.16/arch/mips/bcm947xx/broadcom/sflash.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/broadcom/sflash.c 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,418 @@
+/*
+ * Broadcom SiliconBackplane chipcommon serial flash interface
@@ -5834,9 +5786,9 @@ diff -urN linux.old/arch/mips/bcm947xx/broadcom/sflash.c linux.dev/arch/mips/bcm
+ return ret;
+}
+
-diff -urN linux.old/arch/mips/bcm947xx/include/bcmdevs.h linux.dev/arch/mips/bcm947xx/include/bcmdevs.h
---- linux.old/arch/mips/bcm947xx/include/bcmdevs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/bcmdevs.h 2006-01-12 00:20:30.725131750 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/bcmdevs.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/bcmdevs.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/bcmdevs.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/bcmdevs.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,391 @@
+/*
+ * Broadcom device-specific manifest constants.
@@ -6229,9 +6181,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/bcmdevs.h linux.dev/arch/mips/bcm
+#define GPIO_NUMPINS 16
+
+#endif /* _BCMDEVS_H */
-diff -urN linux.old/arch/mips/bcm947xx/include/bcmendian.h linux.dev/arch/mips/bcm947xx/include/bcmendian.h
---- linux.old/arch/mips/bcm947xx/include/bcmendian.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/bcmendian.h 2006-01-12 00:20:30.725131750 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/bcmendian.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/bcmendian.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/bcmendian.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/bcmendian.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,152 @@
+/*
+ * local version of endian.h - byte order defines
@@ -6385,9 +6337,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/bcmendian.h linux.dev/arch/mips/b
+)
+
+#endif /* _BCMENDIAN_H_ */
-diff -urN linux.old/arch/mips/bcm947xx/include/bcmnvram.h linux.dev/arch/mips/bcm947xx/include/bcmnvram.h
---- linux.old/arch/mips/bcm947xx/include/bcmnvram.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/bcmnvram.h 2006-01-12 00:20:30.725131750 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/bcmnvram.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/bcmnvram.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/bcmnvram.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/bcmnvram.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,95 @@
+/*
+ * NVRAM variable manipulation
@@ -6484,9 +6436,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/bcmnvram.h linux.dev/arch/mips/bc
+#define NVRAM_MAX_PARAM_LEN 64
+
+#endif /* _bcmnvram_h_ */
-diff -urN linux.old/arch/mips/bcm947xx/include/bcmsrom.h linux.dev/arch/mips/bcm947xx/include/bcmsrom.h
---- linux.old/arch/mips/bcm947xx/include/bcmsrom.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/bcmsrom.h 2006-01-12 00:20:30.725131750 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/bcmsrom.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/bcmsrom.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/bcmsrom.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/bcmsrom.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,23 @@
+/*
+ * Misc useful routines to access NIC local SROM/OTP .
@@ -6511,9 +6463,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/bcmsrom.h linux.dev/arch/mips/bcm
+extern int srom_write(uint bus, void *curmap, osl_t *osh, uint byteoff, uint nbytes, uint16 *buf);
+
+#endif /* _bcmsrom_h_ */
-diff -urN linux.old/arch/mips/bcm947xx/include/bcmutils.h linux.dev/arch/mips/bcm947xx/include/bcmutils.h
---- linux.old/arch/mips/bcm947xx/include/bcmutils.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/bcmutils.h 2006-01-12 00:20:30.725131750 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/bcmutils.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/bcmutils.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/bcmutils.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/bcmutils.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,308 @@
+/*
+ * Misc useful os-independent macros and functions.
@@ -6823,9 +6775,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/bcmutils.h linux.dev/arch/mips/bc
+extern uint bcm_mkiovar(char *name, char *data, uint datalen, char *buf, uint len);
+
+#endif /* _bcmutils_h_ */
-diff -urN linux.old/arch/mips/bcm947xx/include/bitfuncs.h linux.dev/arch/mips/bcm947xx/include/bitfuncs.h
---- linux.old/arch/mips/bcm947xx/include/bitfuncs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/bitfuncs.h 2006-01-12 00:20:30.729132000 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/bitfuncs.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/bitfuncs.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/bitfuncs.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/bitfuncs.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,85 @@
+/*
+ * bit manipulation utility functions
@@ -6912,9 +6864,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/bitfuncs.h linux.dev/arch/mips/bc
+#endif
+
+#endif /* _BITFUNCS_H */
-diff -urN linux.old/arch/mips/bcm947xx/include/flash.h linux.dev/arch/mips/bcm947xx/include/flash.h
---- linux.old/arch/mips/bcm947xx/include/flash.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/flash.h 2006-01-12 00:20:30.729132000 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/flash.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/flash.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/flash.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/flash.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,188 @@
+/*
+ * flash.h: Common definitions for flash access.
@@ -7104,9 +7056,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/flash.h linux.dev/arch/mips/bcm94
+extern flash_desc_t flashes[];
+
+#endif
-diff -urN linux.old/arch/mips/bcm947xx/include/flashutl.h linux.dev/arch/mips/bcm947xx/include/flashutl.h
---- linux.old/arch/mips/bcm947xx/include/flashutl.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/flashutl.h 2006-01-12 00:20:30.729132000 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/flashutl.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/flashutl.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/flashutl.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/flashutl.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,27 @@
+/*
+ * BCM47XX FLASH driver interface
@@ -7135,9 +7087,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/flashutl.h linux.dev/arch/mips/bc
+#endif /* _LANGUAGE_ASSEMBLY */
+
+#endif /* _flashutl_h_ */
-diff -urN linux.old/arch/mips/bcm947xx/include/hndmips.h linux.dev/arch/mips/bcm947xx/include/hndmips.h
---- linux.old/arch/mips/bcm947xx/include/hndmips.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/hndmips.h 2006-01-12 00:20:30.729132000 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/hndmips.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/hndmips.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/hndmips.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/hndmips.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,16 @@
+/*
+ * Alternate include file for HND sbmips.h since CFE also ships with
@@ -7155,9 +7107,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/hndmips.h linux.dev/arch/mips/bcm
+ */
+
+#include "sbmips.h"
-diff -urN linux.old/arch/mips/bcm947xx/include/linux_osl.h linux.dev/arch/mips/bcm947xx/include/linux_osl.h
---- linux.old/arch/mips/bcm947xx/include/linux_osl.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/linux_osl.h 2006-01-12 00:20:30.729132000 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/linux_osl.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/linux_osl.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/linux_osl.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/linux_osl.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,331 @@
+/*
+ * Linux OS Independent Layer
@@ -7490,9 +7442,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/linux_osl.h linux.dev/arch/mips/b
+#define PKTBUFSZ 2048
+
+#endif /* _linux_osl_h_ */
-diff -urN linux.old/arch/mips/bcm947xx/include/linuxver.h linux.dev/arch/mips/bcm947xx/include/linuxver.h
---- linux.old/arch/mips/bcm947xx/include/linuxver.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/linuxver.h 2006-01-12 00:20:30.729132000 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/linuxver.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/linuxver.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/linuxver.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/linuxver.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,389 @@
+/*
+ * Linux-specific abstractions to gain some independence from linux kernel versions.
@@ -7883,9 +7835,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/linuxver.h linux.dev/arch/mips/bc
+#endif
+
+#endif /* _linuxver_h_ */
-diff -urN linux.old/arch/mips/bcm947xx/include/mipsinc.h linux.dev/arch/mips/bcm947xx/include/mipsinc.h
---- linux.old/arch/mips/bcm947xx/include/mipsinc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/mipsinc.h 2006-01-12 00:20:30.733132250 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/mipsinc.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/mipsinc.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/mipsinc.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/mipsinc.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,552 @@
+/*
+ * HND Run Time Environment for standalone MIPS programs.
@@ -8439,9 +8391,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/mipsinc.h linux.dev/arch/mips/bcm
+#endif /* !_LANGUAGE_ASSEMBLY */
+
+#endif /* _MISPINC_H */
-diff -urN linux.old/arch/mips/bcm947xx/include/osl.h linux.dev/arch/mips/bcm947xx/include/osl.h
---- linux.old/arch/mips/bcm947xx/include/osl.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/osl.h 2006-01-12 00:20:30.733132250 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/osl.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/osl.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/osl.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/osl.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,42 @@
+/*
+ * OS Abstraction Layer
@@ -8485,9 +8437,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/osl.h linux.dev/arch/mips/bcm947x
+#define MAXPRIO 7 /* 0-7 */
+
+#endif /* _osl_h_ */
-diff -urN linux.old/arch/mips/bcm947xx/include/pcicfg.h linux.dev/arch/mips/bcm947xx/include/pcicfg.h
---- linux.old/arch/mips/bcm947xx/include/pcicfg.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/pcicfg.h 2006-01-12 00:20:30.733132250 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/pcicfg.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/pcicfg.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/pcicfg.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/pcicfg.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,398 @@
+/*
+ * pcicfg.h: PCI configuration constants and structures.
@@ -8887,9 +8839,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/pcicfg.h linux.dev/arch/mips/bcm9
+#define PCI_CFG_CMD_STAT_TA 0x08000000 /* target abort status */
+
+#endif
-diff -urN linux.old/arch/mips/bcm947xx/include/proto/ethernet.h linux.dev/arch/mips/bcm947xx/include/proto/ethernet.h
---- linux.old/arch/mips/bcm947xx/include/proto/ethernet.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/proto/ethernet.h 2006-01-12 00:20:30.733132250 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/proto/ethernet.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/proto/ethernet.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/proto/ethernet.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/proto/ethernet.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,145 @@
+/*******************************************************************************
+ * $Id$
@@ -9036,9 +8988,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/proto/ethernet.h linux.dev/arch/m
+#undef PACKED
+
+#endif /* _NET_ETHERNET_H_ */
-diff -urN linux.old/arch/mips/bcm947xx/include/s5.h linux.dev/arch/mips/bcm947xx/include/s5.h
---- linux.old/arch/mips/bcm947xx/include/s5.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/s5.h 2006-01-12 00:20:30.733132250 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/s5.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/s5.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/s5.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/s5.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,103 @@
+#ifndef _S5_H_
+#define _S5_H_
@@ -9143,9 +9095,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/s5.h linux.dev/arch/mips/bcm947xx
+
+
+#endif /*!_S5_H_ */
-diff -urN linux.old/arch/mips/bcm947xx/include/sbchipc.h linux.dev/arch/mips/bcm947xx/include/sbchipc.h
---- linux.old/arch/mips/bcm947xx/include/sbchipc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/sbchipc.h 2006-01-12 00:20:30.733132250 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/sbchipc.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/sbchipc.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/sbchipc.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/sbchipc.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,440 @@
+/*
+ * SiliconBackplane Chipcommon core hardware definitions.
@@ -9587,9 +9539,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/sbchipc.h linux.dev/arch/mips/bcm
+#define OTP_MAGIC 0x4e56
+
+#endif /* _SBCHIPC_H */
-diff -urN linux.old/arch/mips/bcm947xx/include/sbconfig.h linux.dev/arch/mips/bcm947xx/include/sbconfig.h
---- linux.old/arch/mips/bcm947xx/include/sbconfig.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/sbconfig.h 2006-01-12 00:20:30.737132500 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/sbconfig.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/sbconfig.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/sbconfig.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/sbconfig.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,342 @@
+/*
+ * Broadcom SiliconBackplane hardware register definitions.
@@ -9933,9 +9885,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/sbconfig.h linux.dev/arch/mips/bc
+#define BISZ_SIZE 7 /* descriptor size in 32-bit intergers */
+
+#endif /* _SBCONFIG_H */
-diff -urN linux.old/arch/mips/bcm947xx/include/sbextif.h linux.dev/arch/mips/bcm947xx/include/sbextif.h
---- linux.old/arch/mips/bcm947xx/include/sbextif.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/sbextif.h 2006-01-12 00:20:30.737132500 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/sbextif.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/sbextif.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/sbextif.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/sbextif.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,242 @@
+/*
+ * Hardware-specific External Interface I/O core definitions
@@ -10179,9 +10131,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/sbextif.h linux.dev/arch/mips/bcm
+#define CC_CLOCK_BASE 24000000 /* Half the clock freq. in the 4710 */
+
+#endif /* _SBEXTIF_H */
-diff -urN linux.old/arch/mips/bcm947xx/include/sbmemc.h linux.dev/arch/mips/bcm947xx/include/sbmemc.h
---- linux.old/arch/mips/bcm947xx/include/sbmemc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/sbmemc.h 2006-01-12 00:20:30.737132500 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/sbmemc.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/sbmemc.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/sbmemc.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/sbmemc.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,148 @@
+/*
+ * BCM47XX Sonics SiliconBackplane DDR/SDRAM controller core hardware definitions.
@@ -10331,9 +10283,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/sbmemc.h linux.dev/arch/mips/bcm9
+#define MEMC_CONFIG_DDR 0x00000001
+
+#endif /* _SBMEMC_H */
-diff -urN linux.old/arch/mips/bcm947xx/include/sbmips.h linux.dev/arch/mips/bcm947xx/include/sbmips.h
---- linux.old/arch/mips/bcm947xx/include/sbmips.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/sbmips.h 2006-01-12 00:20:30.737132500 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/sbmips.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/sbmips.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/sbmips.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/sbmips.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,62 @@
+/*
+ * Broadcom SiliconBackplane MIPS definitions
@@ -10397,9 +10349,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/sbmips.h linux.dev/arch/mips/bcm9
+#endif /* _LANGUAGE_ASSEMBLY */
+
+#endif /* _SBMIPS_H */
-diff -urN linux.old/arch/mips/bcm947xx/include/sbpci.h linux.dev/arch/mips/bcm947xx/include/sbpci.h
---- linux.old/arch/mips/bcm947xx/include/sbpci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/sbpci.h 2006-01-12 00:20:30.737132500 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/sbpci.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/sbpci.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/sbpci.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/sbpci.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,122 @@
+/*
+ * BCM47XX Sonics SiliconBackplane PCI core hardware definitions.
@@ -10523,9 +10475,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/sbpci.h linux.dev/arch/mips/bcm94
+#endif /* !_LANGUAGE_ASSEMBLY */
+
+#endif /* _SBPCI_H */
-diff -urN linux.old/arch/mips/bcm947xx/include/sbsdram.h linux.dev/arch/mips/bcm947xx/include/sbsdram.h
---- linux.old/arch/mips/bcm947xx/include/sbsdram.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/sbsdram.h 2006-01-12 00:20:30.737132500 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/sbsdram.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/sbsdram.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/sbsdram.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/sbsdram.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,75 @@
+/*
+ * BCM47XX Sonics SiliconBackplane SDRAM controller core hardware definitions.
@@ -10602,9 +10554,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/sbsdram.h linux.dev/arch/mips/bcm
+#define MEM8MX16X2 0xc29 /* 32 MB */
+
+#endif /* _SBSDRAM_H */
-diff -urN linux.old/arch/mips/bcm947xx/include/sbutils.h linux.dev/arch/mips/bcm947xx/include/sbutils.h
---- linux.old/arch/mips/bcm947xx/include/sbutils.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/sbutils.h 2006-01-12 00:20:30.737132500 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/sbutils.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/sbutils.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/sbutils.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/sbutils.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,136 @@
+/*
+ * Misc utility routines for accessing chip-specific features
@@ -10742,9 +10694,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/sbutils.h linux.dev/arch/mips/bcm
+#define SB_DEVPATH_BUFSZ 16 /* min buffer size in bytes */
+
+#endif /* _sbutils_h_ */
-diff -urN linux.old/arch/mips/bcm947xx/include/sflash.h linux.dev/arch/mips/bcm947xx/include/sflash.h
---- linux.old/arch/mips/bcm947xx/include/sflash.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/sflash.h 2006-01-12 00:20:30.745133000 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/sflash.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/sflash.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/sflash.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/sflash.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,36 @@
+/*
+ * Broadcom SiliconBackplane chipcommon serial flash interface
@@ -10782,9 +10734,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/sflash.h linux.dev/arch/mips/bcm9
+extern struct sflash * sflash_init(chipcregs_t *cc);
+
+#endif /* _sflash_h_ */
-diff -urN linux.old/arch/mips/bcm947xx/include/trxhdr.h linux.dev/arch/mips/bcm947xx/include/trxhdr.h
---- linux.old/arch/mips/bcm947xx/include/trxhdr.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/trxhdr.h 2006-01-12 00:20:30.745133000 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/trxhdr.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/trxhdr.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/trxhdr.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/trxhdr.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,33 @@
+/*
+ * TRX image file header format.
@@ -10819,9 +10771,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/trxhdr.h linux.dev/arch/mips/bcm9
+
+/* Compatibility */
+typedef struct trx_header TRXHDR, *PTRXHDR;
-diff -urN linux.old/arch/mips/bcm947xx/include/typedefs.h linux.dev/arch/mips/bcm947xx/include/typedefs.h
---- linux.old/arch/mips/bcm947xx/include/typedefs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/include/typedefs.h 2006-01-12 00:20:30.745133000 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/include/typedefs.h linux-2.6.16-owrt/arch/mips/bcm947xx/include/typedefs.h
+--- linux-2.6.16/arch/mips/bcm947xx/include/typedefs.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/include/typedefs.h 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,326 @@
+/*
+ * Copyright 2005, Broadcom Corporation
@@ -11149,9 +11101,9 @@ diff -urN linux.old/arch/mips/bcm947xx/include/typedefs.h linux.dev/arch/mips/bc
+#endif /* USE_TYPEDEF_DEFAULTS */
+
+#endif /* _TYPEDEFS_H_ */
-diff -urN linux.old/arch/mips/bcm947xx/int-handler.S linux.dev/arch/mips/bcm947xx/int-handler.S
---- linux.old/arch/mips/bcm947xx/int-handler.S 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/int-handler.S 2006-01-12 00:20:30.745133000 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/int-handler.S linux-2.6.16-owrt/arch/mips/bcm947xx/int-handler.S
+--- linux-2.6.16/arch/mips/bcm947xx/int-handler.S 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/int-handler.S 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2004 Florian Schirmer (jolt@tuxbox.org)
@@ -11201,9 +11153,9 @@ diff -urN linux.old/arch/mips/bcm947xx/int-handler.S linux.dev/arch/mips/bcm947x
+ nop
+
+ END(bcm47xx_irq_handler)
-diff -urN linux.old/arch/mips/bcm947xx/irq.c linux.dev/arch/mips/bcm947xx/irq.c
---- linux.old/arch/mips/bcm947xx/irq.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/irq.c 2006-01-12 00:20:30.745133000 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/irq.c linux-2.6.16-owrt/arch/mips/bcm947xx/irq.c
+--- linux-2.6.16/arch/mips/bcm947xx/irq.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/irq.c 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2004 Florian Schirmer (jolt@tuxbox.org)
@@ -11272,9 +11224,19 @@ diff -urN linux.old/arch/mips/bcm947xx/irq.c linux.dev/arch/mips/bcm947xx/irq.c
+ set_except_vector(0, bcm47xx_irq_handler);
+ mips_cpu_irq_init(0);
+}
-diff -urN linux.old/arch/mips/bcm947xx/pci.c linux.dev/arch/mips/bcm947xx/pci.c
---- linux.old/arch/mips/bcm947xx/pci.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/pci.c 2006-01-12 00:20:30.745133000 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/Makefile linux-2.6.16-owrt/arch/mips/bcm947xx/Makefile
+--- linux-2.6.16/arch/mips/bcm947xx/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/Makefile 2006-03-21 09:31:00.000000000 +0100
+@@ -0,0 +1,6 @@
++#
++# Makefile for the BCM47xx specific kernel interface routines
++# under Linux.
++#
++
++obj-y := irq.o int-handler.o prom.o setup.o time.o pci.o
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/pci.c linux-2.6.16-owrt/arch/mips/bcm947xx/pci.c
+--- linux-2.6.16/arch/mips/bcm947xx/pci.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/pci.c 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,215 @@
+#include <linux/kernel.h>
+#include <linux/init.h>
@@ -11491,9 +11453,9 @@ diff -urN linux.old/arch/mips/bcm947xx/pci.c linux.dev/arch/mips/bcm947xx/pci.c
+}
+
+DECLARE_PCI_FIXUP_EARLY(PCI_ANY_ID, PCI_ANY_ID, bcm47xx_fixup_bridge);
-diff -urN linux.old/arch/mips/bcm947xx/prom.c linux.dev/arch/mips/bcm947xx/prom.c
---- linux.old/arch/mips/bcm947xx/prom.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/prom.c 2006-01-12 00:20:30.745133000 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/prom.c linux-2.6.16-owrt/arch/mips/bcm947xx/prom.c
+--- linux-2.6.16/arch/mips/bcm947xx/prom.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/prom.c 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2004 Florian Schirmer (jolt@tuxbox.org)
@@ -11554,10 +11516,10 @@ diff -urN linux.old/arch/mips/bcm947xx/prom.c linux.dev/arch/mips/bcm947xx/prom.
+{
+ return 0;
+}
-diff -urN linux.old/arch/mips/bcm947xx/setup.c linux.dev/arch/mips/bcm947xx/setup.c
---- linux.old/arch/mips/bcm947xx/setup.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/setup.c 2006-01-12 00:20:30.749133250 +0100
-@@ -0,0 +1,157 @@
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/setup.c linux-2.6.16-owrt/arch/mips/bcm947xx/setup.c
+--- linux-2.6.16/arch/mips/bcm947xx/setup.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/setup.c 2006-03-21 09:31:00.000000000 +0100
+@@ -0,0 +1,158 @@
+/*
+ * Copyright (C) 2004 Florian Schirmer (jolt@tuxbox.org)
+ * Copyright (C) 2005 Waldemar Brodkorb <wbx@openwrt.org>
@@ -11593,6 +11555,7 @@ diff -urN linux.old/arch/mips/bcm947xx/setup.c linux.dev/arch/mips/bcm947xx/setu
+#include <asm/bootinfo.h>
+#include <asm/time.h>
+#include <asm/reboot.h>
++#include <linux/pm.h>
+
+#include <typedefs.h>
+#include <osl.h>
@@ -11706,7 +11669,7 @@ diff -urN linux.old/arch/mips/bcm947xx/setup.c linux.dev/arch/mips/bcm947xx/setu
+
+ _machine_restart = bcm47xx_machine_restart;
+ _machine_halt = bcm47xx_machine_halt;
-+ _machine_power_off = bcm47xx_machine_halt;
++ pm_power_off = bcm47xx_machine_halt;
+
+ board_time_init = bcm47xx_time_init;
+ board_timer_setup = bcm47xx_timer_setup;
@@ -11715,9 +11678,9 @@ diff -urN linux.old/arch/mips/bcm947xx/setup.c linux.dev/arch/mips/bcm947xx/setu
+EXPORT_SYMBOL(sbh);
+EXPORT_SYMBOL(sbh_lock);
+EXPORT_SYMBOL(boardflags);
-diff -urN linux.old/arch/mips/bcm947xx/time.c linux.dev/arch/mips/bcm947xx/time.c
---- linux.old/arch/mips/bcm947xx/time.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm947xx/time.c 2006-01-12 00:20:30.749133250 +0100
+diff -Nur linux-2.6.16/arch/mips/bcm947xx/time.c linux-2.6.16-owrt/arch/mips/bcm947xx/time.c
+--- linux-2.6.16/arch/mips/bcm947xx/time.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/bcm947xx/time.c 2006-03-21 09:31:00.000000000 +0100
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2004 Florian Schirmer (jolt@tuxbox.org)
@@ -11778,10 +11741,31 @@ diff -urN linux.old/arch/mips/bcm947xx/time.c linux.dev/arch/mips/bcm947xx/time.
+ /* Enable the timer interrupt */
+ setup_irq(7, irq);
+}
-diff -urN linux.old/arch/mips/kernel/cpu-probe.c linux.dev/arch/mips/kernel/cpu-probe.c
---- linux.old/arch/mips/kernel/cpu-probe.c 2006-01-12 00:25:32.684003000 +0100
-+++ linux.dev/arch/mips/kernel/cpu-probe.c 2006-01-12 00:20:30.757133750 +0100
-@@ -656,6 +656,28 @@
+diff -Nur linux-2.6.16/arch/mips/Kconfig linux-2.6.16-owrt/arch/mips/Kconfig
+--- linux-2.6.16/arch/mips/Kconfig 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/Kconfig 2006-03-21 09:31:00.000000000 +0100
+@@ -244,6 +244,17 @@
+ Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
+ Olivetti M700-10 workstations.
+
++config BCM947XX
++ bool "Support for BCM947xx based boards"
++ select DMA_NONCOHERENT
++ select HW_HAS_PCI
++ select IRQ_CPU
++ select SYS_HAS_CPU_MIPS32_R1
++ select SYS_SUPPORTS_32BIT_KERNEL
++ select SYS_SUPPORTS_LITTLE_ENDIAN
++ help
++ Support for BCM947xx based boards
++
+ config LASAT
+ bool "Support for LASAT Networks platforms"
+ select DMA_NONCOHERENT
+diff -Nur linux-2.6.16/arch/mips/kernel/cpu-probe.c linux-2.6.16-owrt/arch/mips/kernel/cpu-probe.c
+--- linux-2.6.16/arch/mips/kernel/cpu-probe.c 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/kernel/cpu-probe.c 2006-03-21 09:32:48.000000000 +0100
+@@ -678,6 +678,28 @@
}
@@ -11791,13 +11775,13 @@ diff -urN linux.old/arch/mips/kernel/cpu-probe.c linux.dev/arch/mips/kernel/cpu-
+ switch (c->processor_id & 0xff00) {
+ case PRID_IMP_BCM3302:
+ c->cputype = CPU_BCM3302;
-+ c->isa_level = MIPS_CPU_ISA_M32;
++ c->isa_level = MIPS_CPU_ISA_M32R1;
+ c->options = MIPS_CPU_TLB | MIPS_CPU_4KEX |
+ MIPS_CPU_4K_CACHE | MIPS_CPU_COUNTER;
+ break;
+ case PRID_IMP_BCM4710:
+ c->cputype = CPU_BCM4710;
-+ c->isa_level = MIPS_CPU_ISA_M32;
++ c->isa_level = MIPS_CPU_ISA_M32R1;
+ c->options = MIPS_CPU_TLB | MIPS_CPU_4KEX |
+ MIPS_CPU_4K_CACHE | MIPS_CPU_COUNTER;
+ break;
@@ -11810,7 +11794,7 @@ diff -urN linux.old/arch/mips/kernel/cpu-probe.c linux.dev/arch/mips/kernel/cpu-
__init void cpu_probe(void)
{
struct cpuinfo_mips *c = &current_cpu_data;
-@@ -678,6 +700,9 @@
+@@ -700,6 +722,9 @@
case PRID_COMP_SIBYTE:
cpu_probe_sibyte(c);
break;
@@ -11820,9 +11804,9 @@ diff -urN linux.old/arch/mips/kernel/cpu-probe.c linux.dev/arch/mips/kernel/cpu-
case PRID_COMP_SANDCRAFT:
cpu_probe_sandcraft(c);
break;
-diff -urN linux.old/arch/mips/kernel/head.S linux.dev/arch/mips/kernel/head.S
---- linux.old/arch/mips/kernel/head.S 2006-01-12 00:25:32.684003000 +0100
-+++ linux.dev/arch/mips/kernel/head.S 2006-01-12 00:20:30.761134000 +0100
+diff -Nur linux-2.6.16/arch/mips/kernel/head.S linux-2.6.16-owrt/arch/mips/kernel/head.S
+--- linux-2.6.16/arch/mips/kernel/head.S 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/kernel/head.S 2006-03-21 09:31:00.000000000 +0100
@@ -107,6 +107,14 @@
#endif
.endm
@@ -11838,9 +11822,9 @@ diff -urN linux.old/arch/mips/kernel/head.S linux.dev/arch/mips/kernel/head.S
/*
* Reserved space for exception handlers.
* Necessary for machines which link their kernels at KSEG0.
-diff -urN linux.old/arch/mips/kernel/proc.c linux.dev/arch/mips/kernel/proc.c
---- linux.old/arch/mips/kernel/proc.c 2006-01-12 00:25:32.692003500 +0100
-+++ linux.dev/arch/mips/kernel/proc.c 2006-01-12 00:20:30.765134250 +0100
+diff -Nur linux-2.6.16/arch/mips/kernel/proc.c linux-2.6.16-owrt/arch/mips/kernel/proc.c
+--- linux-2.6.16/arch/mips/kernel/proc.c 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/kernel/proc.c 2006-03-21 09:31:00.000000000 +0100
@@ -82,6 +82,8 @@
[CPU_VR4181] = "NEC VR4181",
[CPU_VR4181A] = "NEC VR4181A",
@@ -11850,10 +11834,27 @@ diff -urN linux.old/arch/mips/kernel/proc.c linux.dev/arch/mips/kernel/proc.c
[CPU_PR4450] = "Philips PR4450",
};
-diff -urN linux.old/arch/mips/mm/tlbex.c linux.dev/arch/mips/mm/tlbex.c
---- linux.old/arch/mips/mm/tlbex.c 2006-01-12 00:25:32.796010000 +0100
-+++ linux.dev/arch/mips/mm/tlbex.c 2006-01-12 00:20:31.137157500 +0100
-@@ -862,6 +862,8 @@
+diff -Nur linux-2.6.16/arch/mips/Makefile linux-2.6.16-owrt/arch/mips/Makefile
+--- linux-2.6.16/arch/mips/Makefile 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/Makefile 2006-03-21 09:31:00.000000000 +0100
+@@ -710,6 +710,13 @@
+ load-$(CONFIG_SIBYTE_BIGSUR) := 0xffffffff80100000
+
+ #
++# Broadcom BCM47XX boards
++#
++core-$(CONFIG_BCM947XX) += arch/mips/bcm947xx/ arch/mips/bcm947xx/broadcom/
++cflags-$(CONFIG_BCM947XX) += -Iarch/mips/bcm947xx/include
++load-$(CONFIG_BCM947XX) := 0xffffffff80001000
++
++#
+ # SNI RM200 PCI
+ #
+ core-$(CONFIG_SNI_RM200_PCI) += arch/mips/sni/
+diff -Nur linux-2.6.16/arch/mips/mm/tlbex.c linux-2.6.16-owrt/arch/mips/mm/tlbex.c
+--- linux-2.6.16/arch/mips/mm/tlbex.c 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/arch/mips/mm/tlbex.c 2006-03-21 09:31:00.000000000 +0100
+@@ -858,6 +858,8 @@
case CPU_4KSC:
case CPU_20KC:
case CPU_25KF:
@@ -11862,9 +11863,9 @@ diff -urN linux.old/arch/mips/mm/tlbex.c linux.dev/arch/mips/mm/tlbex.c
tlbw(p);
break;
-diff -urN linux.old/include/asm-mips/bootinfo.h linux.dev/include/asm-mips/bootinfo.h
---- linux.old/include/asm-mips/bootinfo.h 2006-01-12 00:25:32.800010250 +0100
-+++ linux.dev/include/asm-mips/bootinfo.h 2006-01-12 00:20:30.777135000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/bootinfo.h linux-2.6.16-owrt/include/asm-mips/bootinfo.h
+--- linux-2.6.16/include/asm-mips/bootinfo.h 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/bootinfo.h 2006-03-21 09:31:00.000000000 +0100
@@ -218,6 +218,12 @@
#define MACH_GROUP_TITAN 22 /* PMC-Sierra Titan */
#define MACH_TITAN_YOSEMITE 1 /* PMC-Sierra Yosemite */
@@ -11878,9 +11879,9 @@ diff -urN linux.old/include/asm-mips/bootinfo.h linux.dev/include/asm-mips/booti
#define CL_SIZE COMMAND_LINE_SIZE
const char *get_system_type(void);
-diff -urN linux.old/include/asm-mips/cpu.h linux.dev/include/asm-mips/cpu.h
---- linux.old/include/asm-mips/cpu.h 2006-01-12 00:25:32.800010250 +0100
-+++ linux.dev/include/asm-mips/cpu.h 2006-01-12 00:20:30.777135000 +0100
+diff -Nur linux-2.6.16/include/asm-mips/cpu.h linux-2.6.16-owrt/include/asm-mips/cpu.h
+--- linux-2.6.16/include/asm-mips/cpu.h 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/include/asm-mips/cpu.h 2006-03-21 09:31:00.000000000 +0100
@@ -102,6 +102,13 @@
#define PRID_IMP_SR71000 0x0400
@@ -11906,9 +11907,9 @@ diff -urN linux.old/include/asm-mips/cpu.h linux.dev/include/asm-mips/cpu.h
/*
* ISA Level encodings
-diff -urN linux.old/include/linux/init.h linux.dev/include/linux/init.h
---- linux.old/include/linux/init.h 2006-01-12 00:25:32.828012000 +0100
-+++ linux.dev/include/linux/init.h 2006-01-12 00:20:30.777135000 +0100
+diff -Nur linux-2.6.16/include/linux/init.h linux-2.6.16-owrt/include/linux/init.h
+--- linux-2.6.16/include/linux/init.h 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/init.h 2006-03-21 09:31:00.000000000 +0100
@@ -86,6 +86,8 @@
static initcall_t __initcall_##fn __attribute_used__ \
__attribute__((__section__(".initcall" level ".init"))) = fn
@@ -11918,10 +11919,10 @@ diff -urN linux.old/include/linux/init.h linux.dev/include/linux/init.h
#define core_initcall(fn) __define_initcall("1",fn)
#define postcore_initcall(fn) __define_initcall("2",fn)
#define arch_initcall(fn) __define_initcall("3",fn)
-diff -urN linux.old/include/linux/pci_ids.h linux.dev/include/linux/pci_ids.h
---- linux.old/include/linux/pci_ids.h 2006-01-12 00:25:32.828012000 +0100
-+++ linux.dev/include/linux/pci_ids.h 2006-01-12 00:20:30.781135250 +0100
-@@ -1836,6 +1836,7 @@
+diff -Nur linux-2.6.16/include/linux/pci_ids.h linux-2.6.16-owrt/include/linux/pci_ids.h
+--- linux-2.6.16/include/linux/pci_ids.h 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/pci_ids.h 2006-03-21 09:31:00.000000000 +0100
+@@ -1885,6 +1885,7 @@
#define PCI_DEVICE_ID_TIGON3_5901_2 0x170e
#define PCI_DEVICE_ID_BCM4401 0x4401
#define PCI_DEVICE_ID_BCM4401B0 0x4402
diff --git a/openwrt/target/linux/generic-2.6/patches/006-gcc4_inline_fix.patch b/openwrt/target/linux/generic-2.6/patches/006-gcc4_inline_fix.patch
index 5d27c53622..e95663e382 100644
--- a/openwrt/target/linux/generic-2.6/patches/006-gcc4_inline_fix.patch
+++ b/openwrt/target/linux/generic-2.6/patches/006-gcc4_inline_fix.patch
@@ -1,2811 +1,3 @@
-diff -Nur linux-2.6.15.1/Documentation/feature-removal-schedule.txt linux-2.6.15.1-owrt/Documentation/feature-removal-schedule.txt
---- linux-2.6.15.1/Documentation/feature-removal-schedule.txt 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/Documentation/feature-removal-schedule.txt 2006-01-27 15:03:21.000000000 +0100
-@@ -143,6 +143,15 @@
-
- ---------------------------
-
-+What: CONFIG_FORCED_INLINING
-+When: June 2006
-+Why: Config option is there to see if gcc is good enough. (in january
-+ 2006). If it is, the behavior should just be the default. If it's not,
-+ the option should just go away entirely.
-+Who: Arjan van de Ven
-+
-+---------------------------
-+
- What: START_ARRAY ioctl for md
- When: July 2006
- Files: drivers/md/md.c
-diff -Nur linux-2.6.15.1/drivers/acpi/ec.c linux-2.6.15.1-owrt/drivers/acpi/ec.c
---- linux-2.6.15.1/drivers/acpi/ec.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/acpi/ec.c 2006-01-27 15:08:36.000000000 +0100
-@@ -153,7 +153,7 @@
- Transaction Management
- -------------------------------------------------------------------------- */
-
--static inline u32 acpi_ec_read_status(union acpi_ec *ec)
-+static u32 acpi_ec_read_status(union acpi_ec *ec)
- {
- u32 status = 0;
-
-diff -Nur linux-2.6.15.1/drivers/base/firmware_class.c linux-2.6.15.1-owrt/drivers/base/firmware_class.c
---- linux-2.6.15.1/drivers/base/firmware_class.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/base/firmware_class.c 2006-01-27 15:08:36.000000000 +0100
-@@ -47,7 +47,7 @@
- struct timer_list timeout;
- };
-
--static inline void
-+static void
- fw_load_abort(struct firmware_priv *fw_priv)
- {
- set_bit(FW_STATUS_ABORT, &fw_priv->status);
-diff -Nur linux-2.6.15.1/drivers/block/loop.c linux-2.6.15.1-owrt/drivers/block/loop.c
---- linux-2.6.15.1/drivers/block/loop.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/block/loop.c 2006-01-27 15:08:36.000000000 +0100
-@@ -281,7 +281,7 @@
- * This helper just factors out common code between do_lo_send_direct_write()
- * and do_lo_send_write().
- */
--static inline int __do_lo_send_write(struct file *file,
-+static int __do_lo_send_write(struct file *file,
- u8 __user *buf, const int len, loff_t pos)
- {
- ssize_t bw;
-diff -Nur linux-2.6.15.1/drivers/bluetooth/hci_bcsp.c linux-2.6.15.1-owrt/drivers/bluetooth/hci_bcsp.c
---- linux-2.6.15.1/drivers/bluetooth/hci_bcsp.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/bluetooth/hci_bcsp.c 2006-01-27 15:08:36.000000000 +0100
-@@ -494,7 +494,7 @@
- }
- }
-
--static inline void bcsp_complete_rx_pkt(struct hci_uart *hu)
-+static void bcsp_complete_rx_pkt(struct hci_uart *hu)
- {
- struct bcsp_struct *bcsp = hu->priv;
- int pass_up;
-diff -Nur linux-2.6.15.1/drivers/char/drm/r128_state.c linux-2.6.15.1-owrt/drivers/char/drm/r128_state.c
---- linux-2.6.15.1/drivers/char/drm/r128_state.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/char/drm/r128_state.c 2006-01-27 15:08:36.000000000 +0100
-@@ -220,7 +220,7 @@
- ADVANCE_RING();
- }
-
--static __inline__ void r128_emit_state(drm_r128_private_t * dev_priv)
-+static void r128_emit_state(drm_r128_private_t * dev_priv)
- {
- drm_r128_sarea_t *sarea_priv = dev_priv->sarea_priv;
- unsigned int dirty = sarea_priv->dirty;
-diff -Nur linux-2.6.15.1/drivers/cpufreq/cpufreq.c linux-2.6.15.1-owrt/drivers/cpufreq/cpufreq.c
---- linux-2.6.15.1/drivers/cpufreq/cpufreq.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/cpufreq/cpufreq.c 2006-01-27 15:08:36.000000000 +0100
-@@ -41,7 +41,6 @@
- /* internal prototypes */
- static int __cpufreq_governor(struct cpufreq_policy *policy, unsigned int event);
- static void handle_update(void *data);
--static inline void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci);
-
- /**
- * Two notifier lists: the "policy" list is involved in the
-@@ -127,7 +126,7 @@
- static unsigned int disable_ratelimit = 1;
- static DEFINE_SPINLOCK(disable_ratelimit_lock);
-
--static inline void cpufreq_debug_enable_ratelimit(void)
-+static void cpufreq_debug_enable_ratelimit(void)
- {
- unsigned long flags;
-
-@@ -137,7 +136,7 @@
- spin_unlock_irqrestore(&disable_ratelimit_lock, flags);
- }
-
--static inline void cpufreq_debug_disable_ratelimit(void)
-+static void cpufreq_debug_disable_ratelimit(void)
- {
- unsigned long flags;
-
-@@ -206,7 +205,7 @@
- static unsigned long l_p_j_ref;
- static unsigned int l_p_j_ref_freq;
-
--static inline void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci)
-+static void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci)
- {
- if (ci->flags & CPUFREQ_CONST_LOOPS)
- return;
-diff -Nur linux-2.6.15.1/drivers/ide/ide-cd.c linux-2.6.15.1-owrt/drivers/ide/ide-cd.c
---- linux-2.6.15.1/drivers/ide/ide-cd.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/ide/ide-cd.c 2006-01-27 15:08:36.000000000 +0100
-@@ -980,7 +980,7 @@
- * and attempt to recover if there are problems. Returns 0 if everything's
- * ok; nonzero if the request has been terminated.
- */
--static inline
-+static
- int cdrom_read_check_ireason (ide_drive_t *drive, int len, int ireason)
- {
- if (ireason == 2)
-@@ -1541,7 +1541,7 @@
- /*
- * Write handling
- */
--static inline int cdrom_write_check_ireason(ide_drive_t *drive, int len, int ireason)
-+static int cdrom_write_check_ireason(ide_drive_t *drive, int len, int ireason)
- {
- /* Two notes about IDE interrupt reason here - 0 means that
- * the drive wants to receive data from us, 2 means that
-diff -Nur linux-2.6.15.1/drivers/ide/ide-disk.c linux-2.6.15.1-owrt/drivers/ide/ide-disk.c
---- linux-2.6.15.1/drivers/ide/ide-disk.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/ide/ide-disk.c 2006-01-27 15:08:36.000000000 +0100
-@@ -477,7 +477,7 @@
- && id->lba_capacity_2;
- }
-
--static inline void idedisk_check_hpa(ide_drive_t *drive)
-+static void idedisk_check_hpa(ide_drive_t *drive)
- {
- unsigned long long capacity, set_max;
- int lba48 = idedisk_supports_lba48(drive->id);
-diff -Nur linux-2.6.15.1/drivers/ide/ide-taskfile.c linux-2.6.15.1-owrt/drivers/ide/ide-taskfile.c
---- linux-2.6.15.1/drivers/ide/ide-taskfile.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/ide/ide-taskfile.c 2006-01-27 15:08:36.000000000 +0100
-@@ -308,7 +308,7 @@
- ide_pio_sector(drive, write);
- }
-
--static inline void ide_pio_datablock(ide_drive_t *drive, struct request *rq,
-+static void ide_pio_datablock(ide_drive_t *drive, struct request *rq,
- unsigned int write)
- {
- if (rq->bio) /* fs request */
-diff -Nur linux-2.6.15.1/drivers/infiniband/core/cm.c linux-2.6.15.1-owrt/drivers/infiniband/core/cm.c
---- linux-2.6.15.1/drivers/infiniband/core/cm.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/infiniband/core/cm.c 2006-01-27 15:08:36.000000000 +0100
-@@ -850,7 +850,7 @@
- param->private_data_len);
- }
-
--static inline int cm_validate_req_param(struct ib_cm_req_param *param)
-+static int cm_validate_req_param(struct ib_cm_req_param *param)
- {
- /* peer-to-peer not supported */
- if (param->peer_to_peer)
-@@ -999,7 +999,7 @@
- (be32_to_cpu(local_qpn) > be32_to_cpu(remote_qpn))));
- }
-
--static inline void cm_format_paths_from_req(struct cm_req_msg *req_msg,
-+static void cm_format_paths_from_req(struct cm_req_msg *req_msg,
- struct ib_sa_path_rec *primary_path,
- struct ib_sa_path_rec *alt_path)
- {
-diff -Nur linux-2.6.15.1/drivers/isdn/hisax/avm_pci.c linux-2.6.15.1-owrt/drivers/isdn/hisax/avm_pci.c
---- linux-2.6.15.1/drivers/isdn/hisax/avm_pci.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/isdn/hisax/avm_pci.c 2006-01-27 15:08:36.000000000 +0100
-@@ -358,7 +358,7 @@
- }
- }
-
--static inline void
-+static void
- HDLC_irq(struct BCState *bcs, u_int stat) {
- int len;
- struct sk_buff *skb;
-diff -Nur linux-2.6.15.1/drivers/isdn/hisax/diva.c linux-2.6.15.1-owrt/drivers/isdn/hisax/diva.c
---- linux-2.6.15.1/drivers/isdn/hisax/diva.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/isdn/hisax/diva.c 2006-01-27 15:08:36.000000000 +0100
-@@ -476,7 +476,7 @@
- }
- }
-
--static inline void
-+static void
- Memhscx_interrupt(struct IsdnCardState *cs, u_char val, u_char hscx)
- {
- u_char r;
-diff -Nur linux-2.6.15.1/drivers/isdn/hisax/hscx_irq.c linux-2.6.15.1-owrt/drivers/isdn/hisax/hscx_irq.c
---- linux-2.6.15.1/drivers/isdn/hisax/hscx_irq.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/isdn/hisax/hscx_irq.c 2006-01-27 15:08:36.000000000 +0100
-@@ -119,7 +119,7 @@
- }
- }
-
--static inline void
-+static void
- hscx_interrupt(struct IsdnCardState *cs, u_char val, u_char hscx)
- {
- u_char r;
-@@ -221,7 +221,7 @@
- }
- }
-
--static inline void
-+static void
- hscx_int_main(struct IsdnCardState *cs, u_char val)
- {
-
-diff -Nur linux-2.6.15.1/drivers/isdn/hisax/jade_irq.c linux-2.6.15.1-owrt/drivers/isdn/hisax/jade_irq.c
---- linux-2.6.15.1/drivers/isdn/hisax/jade_irq.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/isdn/hisax/jade_irq.c 2006-01-27 15:08:36.000000000 +0100
-@@ -110,7 +110,7 @@
- }
-
-
--static inline void
-+static void
- jade_interrupt(struct IsdnCardState *cs, u_char val, u_char jade)
- {
- u_char r;
-diff -Nur linux-2.6.15.1/drivers/md/bitmap.c linux-2.6.15.1-owrt/drivers/md/bitmap.c
---- linux-2.6.15.1/drivers/md/bitmap.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/md/bitmap.c 2006-01-27 15:08:36.000000000 +0100
-@@ -200,7 +200,7 @@
- /* if page is completely empty, put it back on the free list, or dealloc it */
- /* if page was hijacked, unmark the flag so it might get alloced next time */
- /* Note: lock should be held when calling this */
--static inline void bitmap_checkfree(struct bitmap *bitmap, unsigned long page)
-+static void bitmap_checkfree(struct bitmap *bitmap, unsigned long page)
- {
- char *ptr;
-
-diff -Nur linux-2.6.15.1/drivers/md/dm.c linux-2.6.15.1-owrt/drivers/md/dm.c
---- linux-2.6.15.1/drivers/md/dm.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/md/dm.c 2006-01-27 15:08:36.000000000 +0100
-@@ -292,7 +292,7 @@
- * Decrements the number of outstanding ios that a bio has been
- * cloned into, completing the original io if necc.
- */
--static inline void dec_pending(struct dm_io *io, int error)
-+static void dec_pending(struct dm_io *io, int error)
- {
- if (error)
- io->error = error;
-diff -Nur linux-2.6.15.1/drivers/md/dm-crypt.c linux-2.6.15.1-owrt/drivers/md/dm-crypt.c
---- linux-2.6.15.1/drivers/md/dm-crypt.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/md/dm-crypt.c 2006-01-27 15:08:36.000000000 +0100
-@@ -228,7 +228,7 @@
- };
-
-
--static inline int
-+static int
- crypt_convert_scatterlist(struct crypt_config *cc, struct scatterlist *out,
- struct scatterlist *in, unsigned int length,
- int write, sector_t sector)
-diff -Nur linux-2.6.15.1/drivers/md/dm-ioctl.c linux-2.6.15.1-owrt/drivers/md/dm-ioctl.c
---- linux-2.6.15.1/drivers/md/dm-ioctl.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/md/dm-ioctl.c 2006-01-27 15:08:36.000000000 +0100
-@@ -588,7 +588,7 @@
- /*
- * Always use UUID for lookups if it's present, otherwise use name or dev.
- */
--static inline struct hash_cell *__find_device_hash_cell(struct dm_ioctl *param)
-+static struct hash_cell *__find_device_hash_cell(struct dm_ioctl *param)
- {
- if (*param->uuid)
- return __get_uuid_cell(param->uuid);
-@@ -598,7 +598,7 @@
- return dm_get_mdptr(huge_decode_dev(param->dev));
- }
-
--static inline struct mapped_device *find_device(struct dm_ioctl *param)
-+static struct mapped_device *find_device(struct dm_ioctl *param)
- {
- struct hash_cell *hc;
- struct mapped_device *md = NULL;
-diff -Nur linux-2.6.15.1/drivers/md/dm-snap.c linux-2.6.15.1-owrt/drivers/md/dm-snap.c
---- linux-2.6.15.1/drivers/md/dm-snap.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/md/dm-snap.c 2006-01-27 15:08:36.000000000 +0100
-@@ -677,7 +677,7 @@
- /*
- * Dispatches the copy operation to kcopyd.
- */
--static inline void start_copy(struct pending_exception *pe)
-+static void start_copy(struct pending_exception *pe)
- {
- struct dm_snapshot *s = pe->snap;
- struct io_region src, dest;
-diff -Nur linux-2.6.15.1/drivers/md/raid10.c linux-2.6.15.1-owrt/drivers/md/raid10.c
---- linux-2.6.15.1/drivers/md/raid10.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/md/raid10.c 2006-01-27 15:08:36.000000000 +0100
-@@ -173,7 +173,7 @@
- }
- }
-
--static inline void free_r10bio(r10bio_t *r10_bio)
-+static void free_r10bio(r10bio_t *r10_bio)
- {
- unsigned long flags;
-
-@@ -194,7 +194,7 @@
- mempool_free(r10_bio, conf->r10bio_pool);
- }
-
--static inline void put_buf(r10bio_t *r10_bio)
-+static void put_buf(r10bio_t *r10_bio)
- {
- conf_t *conf = mddev_to_conf(r10_bio->mddev);
- unsigned long flags;
-diff -Nur linux-2.6.15.1/drivers/md/raid1.c linux-2.6.15.1-owrt/drivers/md/raid1.c
---- linux-2.6.15.1/drivers/md/raid1.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/md/raid1.c 2006-01-27 15:08:36.000000000 +0100
-@@ -158,7 +158,7 @@
- }
- }
-
--static inline void free_r1bio(r1bio_t *r1_bio)
-+static void free_r1bio(r1bio_t *r1_bio)
- {
- unsigned long flags;
-
-@@ -179,7 +179,7 @@
- mempool_free(r1_bio, conf->r1bio_pool);
- }
-
--static inline void put_buf(r1bio_t *r1_bio)
-+static void put_buf(r1bio_t *r1_bio)
- {
- conf_t *conf = mddev_to_conf(r1_bio->mddev);
- unsigned long flags;
-diff -Nur linux-2.6.15.1/drivers/md/raid5.c linux-2.6.15.1-owrt/drivers/md/raid5.c
---- linux-2.6.15.1/drivers/md/raid5.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/md/raid5.c 2006-01-27 15:08:36.000000000 +0100
-@@ -71,7 +71,7 @@
-
- static void print_raid5_conf (raid5_conf_t *conf);
-
--static inline void __release_stripe(raid5_conf_t *conf, struct stripe_head *sh)
-+static void __release_stripe(raid5_conf_t *conf, struct stripe_head *sh)
- {
- if (atomic_dec_and_test(&sh->count)) {
- if (!list_empty(&sh->lru))
-@@ -188,7 +188,7 @@
-
- static void raid5_build_block (struct stripe_head *sh, int i);
-
--static inline void init_stripe(struct stripe_head *sh, sector_t sector, int pd_idx)
-+static void init_stripe(struct stripe_head *sh, sector_t sector, int pd_idx)
- {
- raid5_conf_t *conf = sh->raid_conf;
- int disks = conf->raid_disks, i;
-@@ -1421,7 +1421,7 @@
- }
- }
-
--static inline void raid5_activate_delayed(raid5_conf_t *conf)
-+static void raid5_activate_delayed(raid5_conf_t *conf)
- {
- if (atomic_read(&conf->preread_active_stripes) < IO_THRESHOLD) {
- while (!list_empty(&conf->delayed_list)) {
-@@ -1437,7 +1437,7 @@
- }
- }
-
--static inline void activate_bit_delay(raid5_conf_t *conf)
-+static void activate_bit_delay(raid5_conf_t *conf)
- {
- /* device_lock is held */
- struct list_head head;
-diff -Nur linux-2.6.15.1/drivers/md/raid6main.c linux-2.6.15.1-owrt/drivers/md/raid6main.c
---- linux-2.6.15.1/drivers/md/raid6main.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/md/raid6main.c 2006-01-27 15:08:36.000000000 +0100
-@@ -90,7 +90,7 @@
-
- static void print_raid6_conf (raid6_conf_t *conf);
-
--static inline void __release_stripe(raid6_conf_t *conf, struct stripe_head *sh)
-+static void __release_stripe(raid6_conf_t *conf, struct stripe_head *sh)
- {
- if (atomic_dec_and_test(&sh->count)) {
- if (!list_empty(&sh->lru))
-@@ -207,7 +207,7 @@
-
- static void raid6_build_block (struct stripe_head *sh, int i);
-
--static inline void init_stripe(struct stripe_head *sh, sector_t sector, int pd_idx)
-+static void init_stripe(struct stripe_head *sh, sector_t sector, int pd_idx)
- {
- raid6_conf_t *conf = sh->raid_conf;
- int disks = conf->raid_disks, i;
-@@ -1501,7 +1501,7 @@
- }
- }
-
--static inline void raid6_activate_delayed(raid6_conf_t *conf)
-+static void raid6_activate_delayed(raid6_conf_t *conf)
- {
- if (atomic_read(&conf->preread_active_stripes) < IO_THRESHOLD) {
- while (!list_empty(&conf->delayed_list)) {
-@@ -1517,7 +1517,7 @@
- }
- }
-
--static inline void activate_bit_delay(raid6_conf_t *conf)
-+static void activate_bit_delay(raid6_conf_t *conf)
- {
- /* device_lock is held */
- struct list_head head;
-diff -Nur linux-2.6.15.1/drivers/media/video/tvp5150.c linux-2.6.15.1-owrt/drivers/media/video/tvp5150.c
---- linux-2.6.15.1/drivers/media/video/tvp5150.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/media/video/tvp5150.c 2006-01-27 15:08:36.000000000 +0100
-@@ -87,7 +87,7 @@
- int sat;
- };
-
--static inline int tvp5150_read(struct i2c_client *c, unsigned char addr)
-+static int tvp5150_read(struct i2c_client *c, unsigned char addr)
- {
- unsigned char buffer[1];
- int rc;
-diff -Nur linux-2.6.15.1/drivers/message/fusion/mptlan.c linux-2.6.15.1-owrt/drivers/message/fusion/mptlan.c
---- linux-2.6.15.1/drivers/message/fusion/mptlan.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/message/fusion/mptlan.c 2006-01-27 15:08:36.000000000 +0100
-@@ -848,7 +848,7 @@
- }
-
- /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
--static inline void
-+static void
- mpt_lan_wake_post_buckets_task(struct net_device *dev, int priority)
- /*
- * @priority: 0 = put it on the timer queue, 1 = put it on the immediate queue
-@@ -870,7 +870,7 @@
- }
-
- /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
--static inline int
-+static int
- mpt_lan_receive_skb(struct net_device *dev, struct sk_buff *skb)
- {
- struct mpt_lan_priv *priv = dev->priv;
-diff -Nur linux-2.6.15.1/drivers/mtd/devices/doc2000.c linux-2.6.15.1-owrt/drivers/mtd/devices/doc2000.c
---- linux-2.6.15.1/drivers/mtd/devices/doc2000.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/mtd/devices/doc2000.c 2006-01-27 15:08:36.000000000 +0100
-@@ -138,7 +138,7 @@
- bypass the internal pipeline. Each of 4 delay cycles (read from the NOP register) is
- required after writing to CDSN Control register, see Software Requirement 11.4 item 3. */
-
--static inline int DoC_Command(struct DiskOnChip *doc, unsigned char command,
-+static int DoC_Command(struct DiskOnChip *doc, unsigned char command,
- unsigned char xtraflags)
- {
- void __iomem *docptr = doc->virtadr;
-diff -Nur linux-2.6.15.1/drivers/mtd/devices/doc2001.c linux-2.6.15.1-owrt/drivers/mtd/devices/doc2001.c
---- linux-2.6.15.1/drivers/mtd/devices/doc2001.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/mtd/devices/doc2001.c 2006-01-27 15:08:36.000000000 +0100
-@@ -103,7 +103,7 @@
- with the internal pipeline. Each of 4 delay cycles (read from the NOP register) is
- required after writing to CDSN Control register, see Software Requirement 11.4 item 3. */
-
--static inline void DoC_Command(void __iomem * docptr, unsigned char command,
-+static void DoC_Command(void __iomem * docptr, unsigned char command,
- unsigned char xtraflags)
- {
- /* Assert the CLE (Command Latch Enable) line to the flash chip */
-diff -Nur linux-2.6.15.1/drivers/mtd/devices/doc2001plus.c linux-2.6.15.1-owrt/drivers/mtd/devices/doc2001plus.c
---- linux-2.6.15.1/drivers/mtd/devices/doc2001plus.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/mtd/devices/doc2001plus.c 2006-01-27 15:08:36.000000000 +0100
-@@ -118,7 +118,7 @@
- /* DoC_Command: Send a flash command to the flash chip through the Flash
- * command register. Need 2 Write Pipeline Terminates to complete send.
- */
--static inline void DoC_Command(void __iomem * docptr, unsigned char command,
-+static void DoC_Command(void __iomem * docptr, unsigned char command,
- unsigned char xtraflags)
- {
- WriteDOC(command, docptr, Mplus_FlashCmd);
-diff -Nur linux-2.6.15.1/drivers/mtd/nand/diskonchip.c linux-2.6.15.1-owrt/drivers/mtd/nand/diskonchip.c
---- linux-2.6.15.1/drivers/mtd/nand/diskonchip.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/mtd/nand/diskonchip.c 2006-01-27 15:08:36.000000000 +0100
-@@ -1506,7 +1506,7 @@
- return 1;
- }
-
--static inline int __init doc_probe(unsigned long physadr)
-+static int __init doc_probe(unsigned long physadr)
- {
- unsigned char ChipID;
- struct mtd_info *mtd;
-diff -Nur linux-2.6.15.1/drivers/net/e100.c linux-2.6.15.1-owrt/drivers/net/e100.c
---- linux-2.6.15.1/drivers/net/e100.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/net/e100.c 2006-01-27 15:08:36.000000000 +0100
-@@ -587,7 +587,7 @@
- (void)readb(&nic->csr->scb.status);
- }
-
--static inline void e100_enable_irq(struct nic *nic)
-+static void e100_enable_irq(struct nic *nic)
- {
- unsigned long flags;
-
-@@ -597,7 +597,7 @@
- e100_write_flush(nic);
- }
-
--static inline void e100_disable_irq(struct nic *nic)
-+static void e100_disable_irq(struct nic *nic)
- {
- unsigned long flags;
-
-@@ -786,7 +786,7 @@
-
- #define E100_WAIT_SCB_TIMEOUT 20000 /* we might have to wait 100ms!!! */
- #define E100_WAIT_SCB_FAST 20 /* delay like the old code */
--static inline int e100_exec_cmd(struct nic *nic, u8 cmd, dma_addr_t dma_addr)
-+static int e100_exec_cmd(struct nic *nic, u8 cmd, dma_addr_t dma_addr)
- {
- unsigned long flags;
- unsigned int i;
-@@ -817,7 +817,7 @@
- return err;
- }
-
--static inline int e100_exec_cb(struct nic *nic, struct sk_buff *skb,
-+static int e100_exec_cb(struct nic *nic, struct sk_buff *skb,
- void (*cb_prepare)(struct nic *, struct cb *, struct sk_buff *))
- {
- struct cb *cb;
-@@ -1542,7 +1542,7 @@
- mod_timer(&nic->watchdog, jiffies + E100_WATCHDOG_PERIOD);
- }
-
--static inline void e100_xmit_prepare(struct nic *nic, struct cb *cb,
-+static void e100_xmit_prepare(struct nic *nic, struct cb *cb,
- struct sk_buff *skb)
- {
- cb->command = nic->tx_command;
-@@ -1592,7 +1592,7 @@
- return 0;
- }
-
--static inline int e100_tx_clean(struct nic *nic)
-+static int e100_tx_clean(struct nic *nic)
- {
- struct cb *cb;
- int tx_cleaned = 0;
-@@ -1703,7 +1703,7 @@
- }
-
- #define RFD_BUF_LEN (sizeof(struct rfd) + VLAN_ETH_FRAME_LEN)
--static inline int e100_rx_alloc_skb(struct nic *nic, struct rx *rx)
-+static int e100_rx_alloc_skb(struct nic *nic, struct rx *rx)
- {
- if(!(rx->skb = dev_alloc_skb(RFD_BUF_LEN + NET_IP_ALIGN)))
- return -ENOMEM;
-@@ -1737,7 +1737,7 @@
- return 0;
- }
-
--static inline int e100_rx_indicate(struct nic *nic, struct rx *rx,
-+static int e100_rx_indicate(struct nic *nic, struct rx *rx,
- unsigned int *work_done, unsigned int work_to_do)
- {
- struct sk_buff *skb = rx->skb;
-@@ -1797,7 +1797,7 @@
- return 0;
- }
-
--static inline void e100_rx_clean(struct nic *nic, unsigned int *work_done,
-+static void e100_rx_clean(struct nic *nic, unsigned int *work_done,
- unsigned int work_to_do)
- {
- struct rx *rx;
-diff -Nur linux-2.6.15.1/drivers/net/sb1000.c linux-2.6.15.1-owrt/drivers/net/sb1000.c
---- linux-2.6.15.1/drivers/net/sb1000.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/net/sb1000.c 2006-01-27 15:08:36.000000000 +0100
-@@ -94,7 +94,7 @@
- const char* name);
- static inline int card_wait_for_ready(const int ioaddr[], const char* name,
- unsigned char in[]);
--static inline int card_send_command(const int ioaddr[], const char* name,
-+static int card_send_command(const int ioaddr[], const char* name,
- const unsigned char out[], unsigned char in[]);
-
- /* SB1000 hardware routines to be used during frame rx interrupt */
-@@ -309,7 +309,7 @@
- }
-
- /* Card Send Command (cannot be used during an interrupt) */
--static inline int
-+static int
- card_send_command(const int ioaddr[], const char* name,
- const unsigned char out[], unsigned char in[])
- {
-diff -Nur linux-2.6.15.1/drivers/net/wireless/hostap/hostap_80211_rx.c linux-2.6.15.1-owrt/drivers/net/wireless/hostap/hostap_80211_rx.c
---- linux-2.6.15.1/drivers/net/wireless/hostap/hostap_80211_rx.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/net/wireless/hostap/hostap_80211_rx.c 2006-01-27 15:08:36.000000000 +0100
-@@ -435,7 +435,7 @@
- }
-
-
--static inline int
-+static int
- hostap_rx_frame_mgmt(local_info_t *local, struct sk_buff *skb,
- struct hostap_80211_rx_status *rx_stats, u16 type,
- u16 stype)
-@@ -499,7 +499,7 @@
-
-
- /* Called only as a tasklet (software IRQ) */
--static inline struct net_device *prism2_rx_get_wds(local_info_t *local,
-+static struct net_device *prism2_rx_get_wds(local_info_t *local,
- u8 *addr)
- {
- struct hostap_interface *iface = NULL;
-@@ -519,7 +519,7 @@
- }
-
-
--static inline int
-+static int
- hostap_rx_frame_wds(local_info_t *local, struct ieee80211_hdr_4addr *hdr,
- u16 fc, struct net_device **wds)
- {
-@@ -615,7 +615,7 @@
-
-
- /* Called only as a tasklet (software IRQ) */
--static inline int
-+static int
- hostap_rx_frame_decrypt(local_info_t *local, struct sk_buff *skb,
- struct ieee80211_crypt_data *crypt)
- {
-@@ -654,7 +654,7 @@
-
-
- /* Called only as a tasklet (software IRQ) */
--static inline int
-+static int
- hostap_rx_frame_decrypt_msdu(local_info_t *local, struct sk_buff *skb,
- int keyidx, struct ieee80211_crypt_data *crypt)
- {
-diff -Nur linux-2.6.15.1/drivers/net/wireless/hostap/hostap_hw.c linux-2.6.15.1-owrt/drivers/net/wireless/hostap/hostap_hw.c
---- linux-2.6.15.1/drivers/net/wireless/hostap/hostap_hw.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/net/wireless/hostap/hostap_hw.c 2006-01-27 15:08:36.000000000 +0100
-@@ -253,7 +253,7 @@
- * @dev: pointer to net_device
- * @entry: Prism2 command queue entry to be issued
- */
--static inline int hfa384x_cmd_issue(struct net_device *dev,
-+static int hfa384x_cmd_issue(struct net_device *dev,
- struct hostap_cmd_queue *entry)
- {
- struct hostap_interface *iface;
-@@ -743,7 +743,7 @@
- }
-
-
--static inline int hfa384x_wait_offset(struct net_device *dev, u16 o_off)
-+static int hfa384x_wait_offset(struct net_device *dev, u16 o_off)
- {
- int tries = HFA384X_BAP_BUSY_TIMEOUT;
- int res = HFA384X_INW(o_off) & HFA384X_OFFSET_BUSY;
-@@ -1904,7 +1904,7 @@
- * and will try to get the correct fid eventually. */
- #define EXTRA_FID_READ_TESTS
-
--static inline u16 prism2_read_fid_reg(struct net_device *dev, u16 reg)
-+static u16 prism2_read_fid_reg(struct net_device *dev, u16 reg)
- {
- #ifdef EXTRA_FID_READ_TESTS
- u16 val, val2, val3;
-@@ -2581,7 +2581,7 @@
-
-
- /* Called only from hardware IRQ */
--static inline void prism2_check_magic(local_info_t *local)
-+static void prism2_check_magic(local_info_t *local)
- {
- /* at least PCI Prism2.5 with bus mastering seems to sometimes
- * return 0x0000 in SWSUPPORT0 for unknown reason, but re-reading the
-diff -Nur linux-2.6.15.1/drivers/net/wireless/ipw2100.c linux-2.6.15.1-owrt/drivers/net/wireless/ipw2100.c
---- linux-2.6.15.1/drivers/net/wireless/ipw2100.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/net/wireless/ipw2100.c 2006-01-27 15:08:36.000000000 +0100
-@@ -411,7 +411,7 @@
- write_register(dev, IPW_REG_AUTOINCREMENT_DATA, val);
- }
-
--static inline void write_nic_memory(struct net_device *dev, u32 addr, u32 len,
-+static void write_nic_memory(struct net_device *dev, u32 addr, u32 len,
- const u8 * buf)
- {
- u32 aligned_addr;
-@@ -449,7 +449,7 @@
- *buf);
- }
-
--static inline void read_nic_memory(struct net_device *dev, u32 addr, u32 len,
-+static void read_nic_memory(struct net_device *dev, u32 addr, u32 len,
- u8 * buf)
- {
- u32 aligned_addr;
-@@ -657,7 +657,7 @@
-
- #define MAX_RESET_BACKOFF 10
-
--static inline void schedule_reset(struct ipw2100_priv *priv)
-+static void schedule_reset(struct ipw2100_priv *priv)
- {
- unsigned long now = get_seconds();
-
-@@ -1130,7 +1130,7 @@
- write_register(priv->net_dev, IPW_REG_GPIO, reg);
- }
-
--static inline int rf_kill_active(struct ipw2100_priv *priv)
-+static int rf_kill_active(struct ipw2100_priv *priv)
- {
- #define MAX_RF_KILL_CHECKS 5
- #define RF_KILL_CHECK_DELAY 40
-@@ -2177,7 +2177,7 @@
- };
- #endif
-
--static inline int ipw2100_alloc_skb(struct ipw2100_priv *priv,
-+static int ipw2100_alloc_skb(struct ipw2100_priv *priv,
- struct ipw2100_rx_packet *packet)
- {
- packet->skb = dev_alloc_skb(sizeof(struct ipw2100_rx));
-@@ -2201,7 +2201,7 @@
- #define SEARCH_SNAPSHOT 1
-
- #define SNAPSHOT_ADDR(ofs) (priv->snapshot[((ofs) >> 12) & 0xff] + ((ofs) & 0xfff))
--static inline int ipw2100_snapshot_alloc(struct ipw2100_priv *priv)
-+static int ipw2100_snapshot_alloc(struct ipw2100_priv *priv)
- {
- int i;
- if (priv->snapshot[0])
-@@ -2221,7 +2221,7 @@
- return 1;
- }
-
--static inline void ipw2100_snapshot_free(struct ipw2100_priv *priv)
-+static void ipw2100_snapshot_free(struct ipw2100_priv *priv)
- {
- int i;
- if (!priv->snapshot[0])
-@@ -2231,7 +2231,7 @@
- priv->snapshot[0] = NULL;
- }
-
--static inline u32 ipw2100_match_buf(struct ipw2100_priv *priv, u8 * in_buf,
-+static u32 ipw2100_match_buf(struct ipw2100_priv *priv, u8 * in_buf,
- size_t len, int mode)
- {
- u32 i, j;
-@@ -2288,7 +2288,7 @@
- static u8 packet_data[IPW_RX_NIC_BUFFER_LENGTH];
- #endif
-
--static inline void ipw2100_corruption_detected(struct ipw2100_priv *priv, int i)
-+static void ipw2100_corruption_detected(struct ipw2100_priv *priv, int i)
- {
- #ifdef CONFIG_IPW_DEBUG_C3
- struct ipw2100_status *status = &priv->status_queue.drv[i];
-@@ -2346,7 +2346,7 @@
- schedule_reset(priv);
- }
-
--static inline void isr_rx(struct ipw2100_priv *priv, int i,
-+static void isr_rx(struct ipw2100_priv *priv, int i,
- struct ieee80211_rx_stats *stats)
- {
- struct ipw2100_status *status = &priv->status_queue.drv[i];
-@@ -2425,7 +2425,7 @@
- priv->rx_queue.drv[i].host_addr = packet->dma_addr;
- }
-
--static inline int ipw2100_corruption_check(struct ipw2100_priv *priv, int i)
-+static int ipw2100_corruption_check(struct ipw2100_priv *priv, int i)
- {
- struct ipw2100_status *status = &priv->status_queue.drv[i];
- struct ipw2100_rx *u = priv->rx_buffers[i].rxp;
-@@ -2481,7 +2481,7 @@
- * The WRITE index is cached in the variable 'priv->rx_queue.next'.
- *
- */
--static inline void __ipw2100_rx_process(struct ipw2100_priv *priv)
-+static void __ipw2100_rx_process(struct ipw2100_priv *priv)
- {
- struct ipw2100_bd_queue *rxq = &priv->rx_queue;
- struct ipw2100_status_queue *sq = &priv->status_queue;
-@@ -2634,7 +2634,7 @@
- * for use by future command and data packets.
- *
- */
--static inline int __ipw2100_tx_process(struct ipw2100_priv *priv)
-+static int __ipw2100_tx_process(struct ipw2100_priv *priv)
- {
- struct ipw2100_bd_queue *txq = &priv->tx_queue;
- struct ipw2100_bd *tbd;
-diff -Nur linux-2.6.15.1/drivers/net/wireless/ipw2200.c linux-2.6.15.1-owrt/drivers/net/wireless/ipw2200.c
---- linux-2.6.15.1/drivers/net/wireless/ipw2200.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/net/wireless/ipw2200.c 2006-01-27 15:08:36.000000000 +0100
-@@ -813,7 +813,7 @@
- up(&priv->sem);
- }
-
--static inline void __ipw_led_activity_on(struct ipw_priv *priv)
-+static void __ipw_led_activity_on(struct ipw_priv *priv)
- {
- u32 led;
-
-@@ -1508,7 +1508,7 @@
- static DEVICE_ATTR(direct_dword, S_IWUSR | S_IRUGO,
- show_direct_dword, store_direct_dword);
-
--static inline int rf_kill_active(struct ipw_priv *priv)
-+static int rf_kill_active(struct ipw_priv *priv)
- {
- if (0 == (ipw_read32(priv, 0x30) & 0x10000))
- priv->status |= STATUS_RF_KILL_HW;
-@@ -2359,7 +2359,7 @@
- }
-
- /* perform a chip select operation */
--static inline void eeprom_cs(struct ipw_priv *priv)
-+static void eeprom_cs(struct ipw_priv *priv)
- {
- eeprom_write_reg(priv, 0);
- eeprom_write_reg(priv, EEPROM_BIT_CS);
-@@ -2368,7 +2368,7 @@
- }
-
- /* perform a chip select operation */
--static inline void eeprom_disable_cs(struct ipw_priv *priv)
-+static void eeprom_disable_cs(struct ipw_priv *priv)
- {
- eeprom_write_reg(priv, EEPROM_BIT_CS);
- eeprom_write_reg(priv, 0);
-@@ -2475,7 +2475,7 @@
- IPW_DEBUG_TRACE("<<\n");
- }
-
--static inline void ipw_zero_memory(struct ipw_priv *priv, u32 start, u32 count)
-+static void ipw_zero_memory(struct ipw_priv *priv, u32 start, u32 count)
- {
- count >>= 2;
- if (!count)
-@@ -2772,7 +2772,7 @@
- return ipw_read32(priv, 0x90) == 0xd55555d5;
- }
-
--static inline int ipw_poll_bit(struct ipw_priv *priv, u32 addr, u32 mask,
-+static int ipw_poll_bit(struct ipw_priv *priv, u32 addr, u32 mask,
- int timeout)
- {
- int i = 0;
-@@ -3150,7 +3150,7 @@
-
- #define IPW_RX_BUF_SIZE (3000)
-
--static inline void ipw_rx_queue_reset(struct ipw_priv *priv,
-+static void ipw_rx_queue_reset(struct ipw_priv *priv,
- struct ipw_rx_queue *rxq)
- {
- unsigned long flags;
-@@ -3608,7 +3608,7 @@
- ipw_queue_tx_free(priv, &priv->txq[3]);
- }
-
--static inline void ipw_create_bssid(struct ipw_priv *priv, u8 * bssid)
-+static void ipw_create_bssid(struct ipw_priv *priv, u8 * bssid)
- {
- /* First 3 bytes are manufacturer */
- bssid[0] = priv->mac_addr[0];
-@@ -3622,7 +3622,7 @@
- bssid[0] |= 0x02; /* set local assignment bit (IEEE802) */
- }
-
--static inline u8 ipw_add_station(struct ipw_priv *priv, u8 * bssid)
-+static u8 ipw_add_station(struct ipw_priv *priv, u8 * bssid)
- {
- struct ipw_station_entry entry;
- int i;
-@@ -3655,7 +3655,7 @@
- return i;
- }
-
--static inline u8 ipw_find_station(struct ipw_priv *priv, u8 * bssid)
-+static u8 ipw_find_station(struct ipw_priv *priv, u8 * bssid)
- {
- int i;
-
-@@ -3794,7 +3794,7 @@
- memset(avg, 0, sizeof(*avg));
- }
-
--static void inline average_add(struct average *avg, s16 val)
-+static void average_add(struct average *avg, s16 val)
- {
- avg->sum -= avg->entries[avg->pos];
- avg->sum += val;
-@@ -3805,7 +3805,7 @@
- }
- }
-
--static s16 inline average_value(struct average *avg)
-+static s16 average_value(struct average *avg)
- {
- if (!unlikely(avg->init)) {
- if (avg->pos)
-@@ -3847,7 +3847,7 @@
-
- }
-
--static inline u32 ipw_get_max_rate(struct ipw_priv *priv)
-+static u32 ipw_get_max_rate(struct ipw_priv *priv)
- {
- u32 i = 0x80000000;
- u32 mask = priv->rates_mask;
-@@ -4087,7 +4087,7 @@
- * roaming_threshold -> disassociate_threshold, scan and roam for better signal.
- * Above disassociate threshold, give up and stop scanning.
- * Roaming is disabled if disassociate_threshold <= roaming_threshold */
--static inline void ipw_handle_missed_beacon(struct ipw_priv *priv,
-+static void ipw_handle_missed_beacon(struct ipw_priv *priv,
- int missed_count)
- {
- priv->notif_missed_beacons = missed_count;
-@@ -4157,7 +4157,7 @@
- * Handle host notification packet.
- * Called from interrupt routine
- */
--static inline void ipw_rx_notification(struct ipw_priv *priv,
-+static void ipw_rx_notification(struct ipw_priv *priv,
- struct ipw_rx_notification *notif)
- {
- notif->size = le16_to_cpu(notif->size);
-@@ -5096,7 +5096,7 @@
- return 1;
- }
-
--static inline void ipw_copy_rates(struct ipw_supported_rates *dest,
-+static void ipw_copy_rates(struct ipw_supported_rates *dest,
- const struct ipw_supported_rates *src)
- {
- u8 i;
-@@ -5857,7 +5857,7 @@
- #define ipw_debug_config(x) do {} while (0)
- #endif
-
--static inline void ipw_set_fixed_rate(struct ipw_priv *priv, int mode)
-+static void ipw_set_fixed_rate(struct ipw_priv *priv, int mode)
- {
- /* TODO: Verify that this works... */
- struct ipw_fixed_rate fr = {
-@@ -7636,7 +7636,7 @@
- }
- #endif
-
--static inline int is_network_packet(struct ipw_priv *priv,
-+static int is_network_packet(struct ipw_priv *priv,
- struct ieee80211_hdr_4addr *header)
- {
- /* Filter incoming packets to determine if they are targetted toward
-@@ -7676,7 +7676,7 @@
-
- #define IPW_PACKET_RETRY_TIME HZ
-
--static inline int is_duplicate_packet(struct ipw_priv *priv,
-+static int is_duplicate_packet(struct ipw_priv *priv,
- struct ieee80211_hdr_4addr *header)
- {
- u16 sc = le16_to_cpu(header->seq_ctl);
-@@ -9585,7 +9585,7 @@
-
- /* net device stuff */
-
--static inline void init_sys_config(struct ipw_sys_config *sys_config)
-+static void init_sys_config(struct ipw_sys_config *sys_config)
- {
- memset(sys_config, 0, sizeof(struct ipw_sys_config));
- sys_config->bt_coexistence = 1; /* We may need to look into prvStaBtConfig */
-@@ -9631,7 +9631,7 @@
- we need to heavily modify the ieee80211_skb_to_txb.
- */
-
--static inline int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb,
-+static int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb,
- int pri)
- {
- struct ieee80211_hdr_3addr *hdr = (struct ieee80211_hdr_3addr *)
-diff -Nur linux-2.6.15.1/drivers/net/wireless/wavelan.c linux-2.6.15.1-owrt/drivers/net/wireless/wavelan.c
---- linux-2.6.15.1/drivers/net/wireless/wavelan.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/net/wireless/wavelan.c 2006-01-27 15:08:36.000000000 +0100
-@@ -102,7 +102,7 @@
- * Write to card's Host Adapter Command Register. Include a delay for
- * those times when it is needed.
- */
--static inline void hacr_write_slow(unsigned long ioaddr, u16 hacr)
-+static void hacr_write_slow(unsigned long ioaddr, u16 hacr)
- {
- hacr_write(ioaddr, hacr);
- /* delay might only be needed sometimes */
-@@ -242,7 +242,7 @@
- * The Windows drivers don't use the CRC, but the AP and the PtP tool
- * depend on it.
- */
--static inline u16 psa_crc(u8 * psa, /* The PSA */
-+static u16 psa_crc(u8 * psa, /* The PSA */
- int size)
- { /* Number of short for CRC */
- int byte_cnt; /* Loop on the PSA */
-@@ -310,7 +310,7 @@
- /*
- * Write 1 byte to the MMC.
- */
--static inline void mmc_out(unsigned long ioaddr, u16 o, u8 d)
-+static void mmc_out(unsigned long ioaddr, u16 o, u8 d)
- {
- int count = 0;
-
-@@ -326,7 +326,7 @@
- * Routine to write bytes to the Modem Management Controller.
- * We start at the end because it is the way it should be!
- */
--static inline void mmc_write(unsigned long ioaddr, u8 o, u8 * b, int n)
-+static void mmc_write(unsigned long ioaddr, u8 o, u8 * b, int n)
- {
- o += n;
- b += n;
-@@ -340,7 +340,7 @@
- * Read a byte from the MMC.
- * Optimised version for 1 byte, avoid using memory.
- */
--static inline u8 mmc_in(unsigned long ioaddr, u16 o)
-+static u8 mmc_in(unsigned long ioaddr, u16 o)
- {
- int count = 0;
-
-@@ -587,7 +587,7 @@
- * Set channel attention bit and busy wait until command has
- * completed, then acknowledge completion of the command.
- */
--static inline int wv_synchronous_cmd(struct net_device * dev, const char *str)
-+static int wv_synchronous_cmd(struct net_device * dev, const char *str)
- {
- net_local *lp = (net_local *) dev->priv;
- unsigned long ioaddr = dev->base_addr;
-@@ -633,7 +633,7 @@
- * Configuration commands completion interrupt.
- * Check if done, and if OK.
- */
--static inline int
-+static int
- wv_config_complete(struct net_device * dev, unsigned long ioaddr, net_local * lp)
- {
- unsigned short mcs_addr;
-@@ -843,7 +843,7 @@
- * wavelan_interrupt is not an option), so you may experience
- * delays sometimes.
- */
--static inline void wv_82586_reconfig(struct net_device * dev)
-+static void wv_82586_reconfig(struct net_device * dev)
- {
- net_local *lp = (net_local *) dev->priv;
- unsigned long flags;
-@@ -1281,7 +1281,7 @@
- * This is the information which is displayed by the driver at startup.
- * There are lots of flags for configuring it to your liking.
- */
--static inline void wv_init_info(struct net_device * dev)
-+static void wv_init_info(struct net_device * dev)
- {
- short ioaddr = dev->base_addr;
- net_local *lp = (net_local *) dev->priv;
-@@ -1502,7 +1502,7 @@
- * It's a bit complicated and you don't really want to look into it.
- * (called in wavelan_ioctl)
- */
--static inline int wv_set_frequency(unsigned long ioaddr, /* I/O port of the card */
-+static int wv_set_frequency(unsigned long ioaddr, /* I/O port of the card */
- iw_freq * frequency)
- {
- const int BAND_NUM = 10; /* Number of bands */
-@@ -1677,7 +1677,7 @@
- /*
- * Give the list of available frequencies.
- */
--static inline int wv_frequency_list(unsigned long ioaddr, /* I/O port of the card */
-+static int wv_frequency_list(unsigned long ioaddr, /* I/O port of the card */
- iw_freq * list, /* List of frequencies to fill */
- int max)
- { /* Maximum number of frequencies */
-@@ -2489,7 +2489,7 @@
- * Note: if any errors occur, the packet is "dropped on the floor".
- * (called by wv_packet_rcv())
- */
--static inline void
-+static void
- wv_packet_read(struct net_device * dev, u16 buf_off, int sksize)
- {
- net_local *lp = (net_local *) dev->priv;
-@@ -2585,7 +2585,7 @@
- * (called in wavelan_interrupt()).
- * Note : the spinlock is already grabbed for us.
- */
--static inline void wv_receive(struct net_device * dev)
-+static void wv_receive(struct net_device * dev)
- {
- unsigned long ioaddr = dev->base_addr;
- net_local *lp = (net_local *) dev->priv;
-@@ -2768,7 +2768,7 @@
- *
- * (called in wavelan_packet_xmit())
- */
--static inline int wv_packet_write(struct net_device * dev, void *buf, short length)
-+static int wv_packet_write(struct net_device * dev, void *buf, short length)
- {
- net_local *lp = (net_local *) dev->priv;
- unsigned long ioaddr = dev->base_addr;
-@@ -2964,7 +2964,7 @@
- * Routine to initialize the Modem Management Controller.
- * (called by wv_hw_reset())
- */
--static inline int wv_mmc_init(struct net_device * dev)
-+static int wv_mmc_init(struct net_device * dev)
- {
- unsigned long ioaddr = dev->base_addr;
- net_local *lp = (net_local *) dev->priv;
-@@ -3136,7 +3136,7 @@
- * Start the receive unit.
- * (called by wv_hw_reset())
- */
--static inline int wv_ru_start(struct net_device * dev)
-+static int wv_ru_start(struct net_device * dev)
- {
- net_local *lp = (net_local *) dev->priv;
- unsigned long ioaddr = dev->base_addr;
-@@ -3228,7 +3228,7 @@
- *
- * (called by wv_hw_reset())
- */
--static inline int wv_cu_start(struct net_device * dev)
-+static int wv_cu_start(struct net_device * dev)
- {
- net_local *lp = (net_local *) dev->priv;
- unsigned long ioaddr = dev->base_addr;
-@@ -3329,7 +3329,7 @@
- *
- * (called by wv_hw_reset())
- */
--static inline int wv_82586_start(struct net_device * dev)
-+static int wv_82586_start(struct net_device * dev)
- {
- net_local *lp = (net_local *) dev->priv;
- unsigned long ioaddr = dev->base_addr;
-@@ -3641,7 +3641,7 @@
- * WaveLAN controller (i82586).
- * (called by wavelan_close())
- */
--static inline void wv_82586_stop(struct net_device * dev)
-+static void wv_82586_stop(struct net_device * dev)
- {
- net_local *lp = (net_local *) dev->priv;
- unsigned long ioaddr = dev->base_addr;
-diff -Nur linux-2.6.15.1/drivers/scsi/aic7xxx_old.c linux-2.6.15.1-owrt/drivers/scsi/aic7xxx_old.c
---- linux-2.6.15.1/drivers/scsi/aic7xxx_old.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/scsi/aic7xxx_old.c 2006-01-27 15:08:36.000000000 +0100
-@@ -1290,7 +1290,7 @@
- *
- ***************************************************************************/
-
--static inline unsigned char
-+static unsigned char
- aic_inb(struct aic7xxx_host *p, long port)
- {
- #ifdef MMAPIO
-@@ -1309,7 +1309,7 @@
- #endif
- }
-
--static inline void
-+static void
- aic_outb(struct aic7xxx_host *p, unsigned char val, long port)
- {
- #ifdef MMAPIO
-diff -Nur linux-2.6.15.1/drivers/scsi/iscsi_tcp.c linux-2.6.15.1-owrt/drivers/scsi/iscsi_tcp.c
---- linux-2.6.15.1/drivers/scsi/iscsi_tcp.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/scsi/iscsi_tcp.c 2006-01-27 15:08:36.000000000 +0100
-@@ -1437,7 +1437,7 @@
- }
- }
-
--static inline int
-+static int
- iscsi_digest_final_send(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask,
- struct iscsi_buf *buf, uint32_t *digest, int final)
- {
-diff -Nur linux-2.6.15.1/drivers/scsi/libata-core.c linux-2.6.15.1-owrt/drivers/scsi/libata-core.c
---- linux-2.6.15.1/drivers/scsi/libata-core.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/scsi/libata-core.c 2006-01-27 15:08:36.000000000 +0100
-@@ -1660,7 +1660,7 @@
- { ATA_SHIFT_PIO, XFER_PIO_0 },
- };
-
--static inline u8 base_from_shift(unsigned int shift)
-+static u8 base_from_shift(unsigned int shift)
- {
- int i;
-
-diff -Nur linux-2.6.15.1/drivers/scsi/megaraid/megaraid_mbox.c linux-2.6.15.1-owrt/drivers/scsi/megaraid/megaraid_mbox.c
---- linux-2.6.15.1/drivers/scsi/megaraid/megaraid_mbox.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/scsi/megaraid/megaraid_mbox.c 2006-01-27 15:08:36.000000000 +0100
-@@ -1331,7 +1331,7 @@
- * return the scb from the head of the free list. NULL if there are none
- * available
- **/
--static inline scb_t *
-+static scb_t *
- megaraid_alloc_scb(adapter_t *adapter, struct scsi_cmnd *scp)
- {
- struct list_head *head = &adapter->kscb_pool;
-@@ -1394,7 +1394,7 @@
- *
- * prepare the scatter-gather list
- */
--static inline int
-+static int
- megaraid_mbox_mksgl(adapter_t *adapter, scb_t *scb)
- {
- struct scatterlist *sgl;
-@@ -1467,7 +1467,7 @@
- *
- * post the command to the controller if mailbox is availble.
- */
--static inline int
-+static int
- mbox_post_cmd(adapter_t *adapter, scb_t *scb)
- {
- mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
-@@ -2135,7 +2135,7 @@
- *
- * Returns: 1 if the interrupt is valid, 0 otherwise
- */
--static inline int
-+static int
- megaraid_ack_sequence(adapter_t *adapter)
- {
- mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
-@@ -2273,7 +2273,7 @@
- *
- * DMA sync if required.
- */
--static inline void
-+static void
- megaraid_mbox_sync_scb(adapter_t *adapter, scb_t *scb)
- {
- mbox_ccb_t *ccb;
-diff -Nur linux-2.6.15.1/drivers/scsi/megaraid/megaraid_sas.c linux-2.6.15.1-owrt/drivers/scsi/megaraid/megaraid_sas.c
---- linux-2.6.15.1/drivers/scsi/megaraid/megaraid_sas.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/scsi/megaraid/megaraid_sas.c 2006-01-27 15:08:36.000000000 +0100
-@@ -80,7 +80,7 @@
- *
- * Returns a free command from the pool
- */
--static inline struct megasas_cmd *megasas_get_cmd(struct megasas_instance
-+static struct megasas_cmd *megasas_get_cmd(struct megasas_instance
- *instance)
- {
- unsigned long flags;
-@@ -262,7 +262,7 @@
- * If successful, this function returns the number of SG elements. Otherwise,
- * it returnes -1.
- */
--static inline int
-+static int
- megasas_make_sgl32(struct megasas_instance *instance, struct scsi_cmnd *scp,
- union megasas_sgl *mfi_sgl)
- {
-@@ -310,7 +310,7 @@
- * If successful, this function returns the number of SG elements. Otherwise,
- * it returnes -1.
- */
--static inline int
-+static int
- megasas_make_sgl64(struct megasas_instance *instance, struct scsi_cmnd *scp,
- union megasas_sgl *mfi_sgl)
- {
-@@ -359,7 +359,7 @@
- * This function prepares CDB commands. These are typcially pass-through
- * commands to the devices.
- */
--static inline int
-+static int
- megasas_build_dcdb(struct megasas_instance *instance, struct scsi_cmnd *scp,
- struct megasas_cmd *cmd)
- {
-@@ -440,7 +440,7 @@
- *
- * Frames (and accompanying SGLs) for regular SCSI IOs use this function.
- */
--static inline int
-+static int
- megasas_build_ldio(struct megasas_instance *instance, struct scsi_cmnd *scp,
- struct megasas_cmd *cmd)
- {
-@@ -562,7 +562,7 @@
- * @scp: SCSI command
- * @frame_count: [OUT] Number of frames used to prepare this command
- */
--static inline struct megasas_cmd *megasas_build_cmd(struct megasas_instance
-+static struct megasas_cmd *megasas_build_cmd(struct megasas_instance
- *instance,
- struct scsi_cmnd *scp,
- int *frame_count)
-@@ -913,7 +913,7 @@
- * @instance: Adapter soft state
- * @cmd: Completed command
- */
--static inline void
-+static void
- megasas_unmap_sgbuf(struct megasas_instance *instance, struct megasas_cmd *cmd)
- {
- dma_addr_t buf_h;
-@@ -957,7 +957,7 @@
- * an alternate status (as in the case of aborted
- * commands)
- */
--static inline void
-+static void
- megasas_complete_cmd(struct megasas_instance *instance, struct megasas_cmd *cmd,
- u8 alt_status)
- {
-@@ -1104,7 +1104,7 @@
- * SCSI mid-layer instead of the status
- * returned by the FW
- */
--static inline int
-+static int
- megasas_deplete_reply_queue(struct megasas_instance *instance, u8 alt_status)
- {
- u32 status;
-diff -Nur linux-2.6.15.1/drivers/scsi/sr.c linux-2.6.15.1-owrt/drivers/scsi/sr.c
---- linux-2.6.15.1/drivers/scsi/sr.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/scsi/sr.c 2006-01-27 15:08:36.000000000 +0100
-@@ -150,7 +150,7 @@
- return cd;
- }
-
--static inline void scsi_cd_put(struct scsi_cd *cd)
-+static void scsi_cd_put(struct scsi_cd *cd)
- {
- struct scsi_device *sdev = cd->device;
-
-diff -Nur linux-2.6.15.1/drivers/usb/atm/usbatm.c linux-2.6.15.1-owrt/drivers/usb/atm/usbatm.c
---- linux-2.6.15.1/drivers/usb/atm/usbatm.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/usb/atm/usbatm.c 2006-01-27 15:08:36.000000000 +0100
-@@ -207,7 +207,7 @@
- ** urbs **
- ************/
-
--static inline struct urb *usbatm_pop_urb(struct usbatm_channel *channel)
-+static struct urb *usbatm_pop_urb(struct usbatm_channel *channel)
- {
- struct urb *urb;
-
-@@ -224,7 +224,7 @@
- return urb;
- }
-
--static inline int usbatm_submit_urb(struct urb *urb)
-+static int usbatm_submit_urb(struct urb *urb)
- {
- struct usbatm_channel *channel = urb->context;
- int ret;
-diff -Nur linux-2.6.15.1/drivers/video/matrox/matroxfb_maven.c linux-2.6.15.1-owrt/drivers/video/matrox/matroxfb_maven.c
---- linux-2.6.15.1/drivers/video/matrox/matroxfb_maven.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/drivers/video/matrox/matroxfb_maven.c 2006-01-27 15:08:36.000000000 +0100
-@@ -968,7 +968,7 @@
- return 0;
- }
-
--static inline int maven_program_timming(struct maven_data* md,
-+static int maven_program_timming(struct maven_data* md,
- const struct mavenregs* m) {
- struct i2c_client* c = md->client;
-
-diff -Nur linux-2.6.15.1/fs/9p/conv.c linux-2.6.15.1-owrt/fs/9p/conv.c
---- linux-2.6.15.1/fs/9p/conv.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/fs/9p/conv.c 2006-01-27 15:08:36.000000000 +0100
-@@ -56,7 +56,7 @@
- return buf->p > buf->ep;
- }
-
--static inline int buf_check_size(struct cbuf *buf, int len)
-+static int buf_check_size(struct cbuf *buf, int len)
- {
- if (buf->p+len > buf->ep) {
- if (buf->p < buf->ep) {
-@@ -69,7 +69,7 @@
- return 1;
- }
-
--static inline void *buf_alloc(struct cbuf *buf, int len)
-+static void *buf_alloc(struct cbuf *buf, int len)
- {
- void *ret = NULL;
-
-@@ -81,7 +81,7 @@
- return ret;
- }
-
--static inline void buf_put_int8(struct cbuf *buf, u8 val)
-+static void buf_put_int8(struct cbuf *buf, u8 val)
- {
- if (buf_check_size(buf, 1)) {
- buf->p[0] = val;
-@@ -89,7 +89,7 @@
- }
- }
-
--static inline void buf_put_int16(struct cbuf *buf, u16 val)
-+static void buf_put_int16(struct cbuf *buf, u16 val)
- {
- if (buf_check_size(buf, 2)) {
- *(__le16 *) buf->p = cpu_to_le16(val);
-@@ -97,7 +97,7 @@
- }
- }
-
--static inline void buf_put_int32(struct cbuf *buf, u32 val)
-+static void buf_put_int32(struct cbuf *buf, u32 val)
- {
- if (buf_check_size(buf, 4)) {
- *(__le32 *)buf->p = cpu_to_le32(val);
-@@ -105,7 +105,7 @@
- }
- }
-
--static inline void buf_put_int64(struct cbuf *buf, u64 val)
-+static void buf_put_int64(struct cbuf *buf, u64 val)
- {
- if (buf_check_size(buf, 8)) {
- *(__le64 *)buf->p = cpu_to_le64(val);
-@@ -113,7 +113,7 @@
- }
- }
-
--static inline void buf_put_stringn(struct cbuf *buf, const char *s, u16 slen)
-+static void buf_put_stringn(struct cbuf *buf, const char *s, u16 slen)
- {
- if (buf_check_size(buf, slen + 2)) {
- buf_put_int16(buf, slen);
-@@ -135,7 +135,7 @@
- }
- }
-
--static inline u8 buf_get_int8(struct cbuf *buf)
-+static u8 buf_get_int8(struct cbuf *buf)
- {
- u8 ret = 0;
-
-@@ -147,7 +147,7 @@
- return ret;
- }
-
--static inline u16 buf_get_int16(struct cbuf *buf)
-+static u16 buf_get_int16(struct cbuf *buf)
- {
- u16 ret = 0;
-
-@@ -159,7 +159,7 @@
- return ret;
- }
-
--static inline u32 buf_get_int32(struct cbuf *buf)
-+static u32 buf_get_int32(struct cbuf *buf)
- {
- u32 ret = 0;
-
-@@ -171,7 +171,7 @@
- return ret;
- }
-
--static inline u64 buf_get_int64(struct cbuf *buf)
-+static u64 buf_get_int64(struct cbuf *buf)
- {
- u64 ret = 0;
-
-diff -Nur linux-2.6.15.1/fs/binfmt_elf.c linux-2.6.15.1-owrt/fs/binfmt_elf.c
---- linux-2.6.15.1/fs/binfmt_elf.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/fs/binfmt_elf.c 2006-01-27 15:08:36.000000000 +0100
-@@ -1212,7 +1212,7 @@
- if (!dump_seek(file, (off))) \
- goto end_coredump;
-
--static inline void fill_elf_header(struct elfhdr *elf, int segs)
-+static void fill_elf_header(struct elfhdr *elf, int segs)
- {
- memcpy(elf->e_ident, ELFMAG, SELFMAG);
- elf->e_ident[EI_CLASS] = ELF_CLASS;
-@@ -1237,7 +1237,7 @@
- return;
- }
-
--static inline void fill_elf_note_phdr(struct elf_phdr *phdr, int sz, off_t offset)
-+static void fill_elf_note_phdr(struct elf_phdr *phdr, int sz, off_t offset)
- {
- phdr->p_type = PT_NOTE;
- phdr->p_offset = offset;
-diff -Nur linux-2.6.15.1/fs/binfmt_misc.c linux-2.6.15.1-owrt/fs/binfmt_misc.c
---- linux-2.6.15.1/fs/binfmt_misc.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/fs/binfmt_misc.c 2006-01-27 15:08:36.000000000 +0100
-@@ -264,7 +264,7 @@
- return p - from;
- }
-
--static inline char * check_special_flags (char * sfs, Node * e)
-+static char * check_special_flags (char * sfs, Node * e)
- {
- char * p = sfs;
- int cont = 1;
-diff -Nur linux-2.6.15.1/fs/bio.c linux-2.6.15.1-owrt/fs/bio.c
---- linux-2.6.15.1/fs/bio.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/fs/bio.c 2006-01-27 15:08:36.000000000 +0100
-@@ -123,7 +123,7 @@
- bio_free(bio, fs_bio_set);
- }
-
--inline void bio_init(struct bio *bio)
-+void bio_init(struct bio *bio)
- {
- bio->bi_next = NULL;
- bio->bi_flags = 1 << BIO_UPTODATE;
-@@ -252,7 +252,7 @@
- * the actual data it points to. Reference count of returned
- * bio will be one.
- */
--inline void __bio_clone(struct bio *bio, struct bio *bio_src)
-+void __bio_clone(struct bio *bio, struct bio *bio_src)
- {
- request_queue_t *q = bdev_get_queue(bio_src->bi_bdev);
-
-diff -Nur linux-2.6.15.1/fs/buffer.c linux-2.6.15.1-owrt/fs/buffer.c
---- linux-2.6.15.1/fs/buffer.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/fs/buffer.c 2006-01-27 15:08:36.000000000 +0100
-@@ -1170,7 +1170,7 @@
- * some of those buffers may be aliases of filesystem data.
- * grow_dev_page() will go BUG() if this happens.
- */
--static inline int
-+static int
- grow_buffers(struct block_device *bdev, sector_t block, int size)
- {
- struct page *page;
-@@ -1396,7 +1396,7 @@
- /*
- * Look up the bh in this cpu's LRU. If it's there, move it to the head.
- */
--static inline struct buffer_head *
-+static struct buffer_head *
- lookup_bh_lru(struct block_device *bdev, sector_t block, int size)
- {
- struct buffer_head *ret = NULL;
-@@ -1546,7 +1546,7 @@
- /*
- * Called when truncating a buffer on a page completely.
- */
--static inline void discard_buffer(struct buffer_head * bh)
-+static void discard_buffer(struct buffer_head * bh)
- {
- lock_buffer(bh);
- clear_buffer_dirty(bh);
-diff -Nur linux-2.6.15.1/fs/compat.c linux-2.6.15.1-owrt/fs/compat.c
---- linux-2.6.15.1/fs/compat.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/fs/compat.c 2006-01-27 15:08:36.000000000 +0100
-@@ -1523,7 +1523,7 @@
- * Ooo, nasty. We need here to frob 32-bit unsigned longs to
- * 64-bit unsigned longs.
- */
--static inline
-+static
- int compat_get_fd_set(unsigned long nr, compat_ulong_t __user *ufdset,
- unsigned long *fdset)
- {
-@@ -1556,7 +1556,7 @@
- return 0;
- }
-
--static inline
-+static
- void compat_set_fd_set(unsigned long nr, compat_ulong_t __user *ufdset,
- unsigned long *fdset)
- {
-diff -Nur linux-2.6.15.1/fs/dcache.c linux-2.6.15.1-owrt/fs/dcache.c
---- linux-2.6.15.1/fs/dcache.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/fs/dcache.c 2006-01-27 15:08:36.000000000 +0100
-@@ -94,7 +94,7 @@
- * d_iput() operation if defined.
- * Called with dcache_lock and per dentry lock held, drops both.
- */
--static inline void dentry_iput(struct dentry * dentry)
-+static void dentry_iput(struct dentry * dentry)
- {
- struct inode *inode = dentry->d_inode;
- if (inode) {
-diff -Nur linux-2.6.15.1/fs/exec.c linux-2.6.15.1-owrt/fs/exec.c
---- linux-2.6.15.1/fs/exec.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/fs/exec.c 2006-01-27 15:08:36.000000000 +0100
-@@ -575,7 +575,7 @@
- * disturbing other processes. (Other processes might share the signal
- * table via the CLONE_SIGHAND option to clone().)
- */
--static inline int de_thread(struct task_struct *tsk)
-+static int de_thread(struct task_struct *tsk)
- {
- struct signal_struct *sig = tsk->signal;
- struct sighand_struct *newsighand, *oldsighand = tsk->sighand;
-@@ -780,7 +780,7 @@
- * so that a new one can be started
- */
-
--static inline void flush_old_files(struct files_struct * files)
-+static void flush_old_files(struct files_struct * files)
- {
- long j = -1;
- struct fdtable *fdt;
-@@ -964,7 +964,7 @@
-
- EXPORT_SYMBOL(prepare_binprm);
-
--static inline int unsafe_exec(struct task_struct *p)
-+static int unsafe_exec(struct task_struct *p)
- {
- int unsafe = 0;
- if (p->ptrace & PT_PTRACED) {
-diff -Nur linux-2.6.15.1/fs/fcntl.c linux-2.6.15.1-owrt/fs/fcntl.c
---- linux-2.6.15.1/fs/fcntl.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/fs/fcntl.c 2006-01-27 15:08:36.000000000 +0100
-@@ -35,7 +35,7 @@
- spin_unlock(&files->file_lock);
- }
-
--static inline int get_close_on_exec(unsigned int fd)
-+static int get_close_on_exec(unsigned int fd)
- {
- struct files_struct *files = current->files;
- struct fdtable *fdt;
-diff -Nur linux-2.6.15.1/fs/inode.c linux-2.6.15.1-owrt/fs/inode.c
---- linux-2.6.15.1/fs/inode.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/fs/inode.c 2006-01-27 15:03:56.000000000 +0100
-@@ -770,7 +770,7 @@
- *
- * Note, @test is called with the inode_lock held, so can't sleep.
- */
--static inline struct inode *ifind(struct super_block *sb,
-+static struct inode *ifind(struct super_block *sb,
- struct hlist_head *head, int (*test)(struct inode *, void *),
- void *data, const int wait)
- {
-@@ -804,7 +804,7 @@
- *
- * Otherwise NULL is returned.
- */
--static inline struct inode *ifind_fast(struct super_block *sb,
-+static struct inode *ifind_fast(struct super_block *sb,
- struct hlist_head *head, unsigned long ino)
- {
- struct inode *inode;
-diff -Nur linux-2.6.15.1/fs/jffs2/build.c linux-2.6.15.1-owrt/fs/jffs2/build.c
---- linux-2.6.15.1/fs/jffs2/build.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/fs/jffs2/build.c 2006-01-27 15:08:36.000000000 +0100
-@@ -47,7 +47,7 @@
- ic = next_inode(&i, ic, (c)))
-
-
--static inline void jffs2_build_inode_pass1(struct jffs2_sb_info *c,
-+static void jffs2_build_inode_pass1(struct jffs2_sb_info *c,
- struct jffs2_inode_cache *ic)
- {
- struct jffs2_full_dirent *fd;
-diff -Nur linux-2.6.15.1/fs/jffs2/nodelist.c linux-2.6.15.1-owrt/fs/jffs2/nodelist.c
---- linux-2.6.15.1/fs/jffs2/nodelist.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/fs/jffs2/nodelist.c 2006-01-27 15:08:36.000000000 +0100
-@@ -134,7 +134,7 @@
- /*
- * Allocate and initializes a new fragment.
- */
--static inline struct jffs2_node_frag * new_fragment(struct jffs2_full_dnode *fn, uint32_t ofs, uint32_t size)
-+static struct jffs2_node_frag * new_fragment(struct jffs2_full_dnode *fn, uint32_t ofs, uint32_t size)
- {
- struct jffs2_node_frag *newfrag;
-
-@@ -513,7 +513,7 @@
- *
- * Checks the node if we are in the checking stage.
- */
--static inline int check_node(struct jffs2_sb_info *c, struct jffs2_inode_info *f, struct jffs2_tmp_dnode_info *tn)
-+static int check_node(struct jffs2_sb_info *c, struct jffs2_inode_info *f, struct jffs2_tmp_dnode_info *tn)
- {
- int ret;
-
-diff -Nur linux-2.6.15.1/fs/lockd/xdr.c linux-2.6.15.1-owrt/fs/lockd/xdr.c
---- linux-2.6.15.1/fs/lockd/xdr.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/fs/lockd/xdr.c 2006-01-27 15:08:36.000000000 +0100
-@@ -44,7 +44,7 @@
- /*
- * XDR functions for basic NLM types
- */
--static inline u32 *nlm_decode_cookie(u32 *p, struct nlm_cookie *c)
-+static u32 *nlm_decode_cookie(u32 *p, struct nlm_cookie *c)
- {
- unsigned int len;
-
-@@ -79,7 +79,7 @@
- return p;
- }
-
--static inline u32 *
-+static u32 *
- nlm_decode_fh(u32 *p, struct nfs_fh *f)
- {
- unsigned int len;
-@@ -119,7 +119,7 @@
- return xdr_encode_netobj(p, oh);
- }
-
--static inline u32 *
-+static u32 *
- nlm_decode_lock(u32 *p, struct nlm_lock *lock)
- {
- struct file_lock *fl = &lock->fl;
-diff -Nur linux-2.6.15.1/fs/locks.c linux-2.6.15.1-owrt/fs/locks.c
---- linux-2.6.15.1/fs/locks.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/fs/locks.c 2006-01-27 15:03:52.000000000 +0100
-@@ -154,7 +154,7 @@
- }
-
- /* Free a lock which is not in use. */
--static inline void locks_free_lock(struct file_lock *fl)
-+static void locks_free_lock(struct file_lock *fl)
- {
- if (fl == NULL) {
- BUG();
-@@ -475,8 +475,7 @@
- /*
- * Check whether two locks have the same owner.
- */
--static inline int
--posix_same_owner(struct file_lock *fl1, struct file_lock *fl2)
-+static int posix_same_owner(struct file_lock *fl1, struct file_lock *fl2)
- {
- if (fl1->fl_lmops && fl1->fl_lmops->fl_compare_owner)
- return fl2->fl_lmops == fl1->fl_lmops &&
-@@ -487,7 +486,7 @@
- /* Remove waiter from blocker's block list.
- * When blocker ends up pointing to itself then the list is empty.
- */
--static inline void __locks_delete_block(struct file_lock *waiter)
-+static void __locks_delete_block(struct file_lock *waiter)
- {
- list_del_init(&waiter->fl_block);
- list_del_init(&waiter->fl_link);
-diff -Nur linux-2.6.15.1/fs/mbcache.c linux-2.6.15.1-owrt/fs/mbcache.c
---- linux-2.6.15.1/fs/mbcache.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/fs/mbcache.c 2006-01-27 15:08:36.000000000 +0100
-@@ -126,7 +126,7 @@
- }
-
-
--static inline void
-+static void
- __mb_cache_entry_unhash(struct mb_cache_entry *ce)
- {
- int n;
-@@ -139,7 +139,7 @@
- }
-
-
--static inline void
-+static void
- __mb_cache_entry_forget(struct mb_cache_entry *ce, gfp_t gfp_mask)
- {
- struct mb_cache *cache = ce->e_cache;
-@@ -158,7 +158,7 @@
- }
-
-
--static inline void
-+static void
- __mb_cache_entry_release_unlock(struct mb_cache_entry *ce)
- {
- /* Wake up all processes queuing for this cache entry. */
-diff -Nur linux-2.6.15.1/fs/namei.c linux-2.6.15.1-owrt/fs/namei.c
---- linux-2.6.15.1/fs/namei.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/fs/namei.c 2006-01-27 15:08:36.000000000 +0100
-@@ -112,7 +112,7 @@
- * POSIX.1 2.4: an empty pathname is invalid (ENOENT).
- * PATH_MAX includes the nul terminator --RR.
- */
--static inline int do_getname(const char __user *filename, char *page)
-+static int do_getname(const char __user *filename, char *page)
- {
- int retval;
- unsigned long len = PATH_MAX;
-@@ -395,7 +395,7 @@
- * short-cut DAC fails, then call permission() to do more
- * complete permission check.
- */
--static inline int exec_permission_lite(struct inode *inode,
-+static int exec_permission_lite(struct inode *inode,
- struct nameidata *nd)
- {
- umode_t mode = inode->i_mode;
-@@ -485,7 +485,7 @@
- static int __emul_lookup_dentry(const char *, struct nameidata *);
-
- /* SMP-safe */
--static inline int
-+static __always_inline int
- walk_init_root(const char *name, struct nameidata *nd)
- {
- read_lock(&current->fs->lock);
-@@ -503,7 +503,7 @@
- return 1;
- }
-
--static inline int __vfs_follow_link(struct nameidata *nd, const char *link)
-+static __always_inline int __vfs_follow_link(struct nameidata *nd, const char *link)
- {
- int res = 0;
- char *name;
-@@ -543,7 +543,7 @@
- struct dentry *dentry;
- };
-
--static inline int __do_follow_link(struct path *path, struct nameidata *nd)
-+static __always_inline int __do_follow_link(struct path *path, struct nameidata *nd)
- {
- int error;
- void *cookie;
-@@ -689,7 +689,7 @@
- return 0;
- }
-
--static inline void follow_dotdot(struct nameidata *nd)
-+static __always_inline void follow_dotdot(struct nameidata *nd)
- {
- while(1) {
- struct vfsmount *parent;
-@@ -1293,7 +1293,7 @@
- * 10. We don't allow removal of NFS sillyrenamed files; it's handled by
- * nfs_async_unlink().
- */
--static inline int may_delete(struct inode *dir,struct dentry *victim,int isdir)
-+static int may_delete(struct inode *dir,struct dentry *victim,int isdir)
- {
- int error;
-
-@@ -2314,7 +2314,7 @@
- return error;
- }
-
--static inline int do_rename(const char * oldname, const char * newname)
-+static int do_rename(const char * oldname, const char * newname)
- {
- int error = 0;
- struct dentry * old_dir, * new_dir;
-diff -Nur linux-2.6.15.1/fs/nfsd/nfsxdr.c linux-2.6.15.1-owrt/fs/nfsd/nfsxdr.c
---- linux-2.6.15.1/fs/nfsd/nfsxdr.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/fs/nfsd/nfsxdr.c 2006-01-27 15:11:46.000000000 +0100
-@@ -37,7 +37,7 @@
- /*
- * XDR functions for basic NFS types
- */
--static inline u32 *
-+static u32 *
- decode_fh(u32 *p, struct svc_fh *fhp)
- {
- fh_init(fhp, NFS_FHSIZE);
-@@ -55,7 +55,7 @@
- return decode_fh(p, fhp);
- }
-
--static inline u32 *
-+static u32 *
- encode_fh(u32 *p, struct svc_fh *fhp)
- {
- memcpy(p, &fhp->fh_handle.fh_base, NFS_FHSIZE);
-diff -Nur linux-2.6.15.1/fs/open.c linux-2.6.15.1-owrt/fs/open.c
---- linux-2.6.15.1/fs/open.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/fs/open.c 2006-01-27 15:04:00.000000000 +0100
-@@ -216,7 +216,7 @@
- return err;
- }
-
--static inline long do_sys_truncate(const char __user * path, loff_t length)
-+static long do_sys_truncate(const char __user * path, loff_t length)
- {
- struct nameidata nd;
- struct inode * inode;
-@@ -282,7 +282,7 @@
- return do_sys_truncate(path, (long)length);
- }
-
--static inline long do_sys_ftruncate(unsigned int fd, loff_t length, int small)
-+static long do_sys_ftruncate(unsigned int fd, loff_t length, int small)
- {
- struct inode * inode;
- struct dentry *dentry;
-@@ -970,7 +970,7 @@
-
- EXPORT_SYMBOL(get_unused_fd);
-
--static inline void __put_unused_fd(struct files_struct *files, unsigned int fd)
-+static void __put_unused_fd(struct files_struct *files, unsigned int fd)
- {
- struct fdtable *fdt = files_fdtable(files);
- __FD_CLR(fd, fdt->open_fds);
-diff -Nur linux-2.6.15.1/fs/pipe.c linux-2.6.15.1-owrt/fs/pipe.c
---- linux-2.6.15.1/fs/pipe.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/fs/pipe.c 2006-01-27 15:08:36.000000000 +0100
-@@ -50,7 +50,7 @@
- down(PIPE_SEM(*inode));
- }
-
--static inline int
-+static int
- pipe_iov_copy_from_user(void *to, struct iovec *iov, unsigned long len)
- {
- unsigned long copy;
-@@ -70,7 +70,7 @@
- return 0;
- }
-
--static inline int
-+static int
- pipe_iov_copy_to_user(struct iovec *iov, const void *from, unsigned long len)
- {
- unsigned long copy;
-diff -Nur linux-2.6.15.1/include/asm-i386/bitops.h linux-2.6.15.1-owrt/include/asm-i386/bitops.h
---- linux-2.6.15.1/include/asm-i386/bitops.h 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/include/asm-i386/bitops.h 2006-01-27 15:03:37.000000000 +0100
-@@ -247,7 +247,7 @@
- static int test_bit(int nr, const volatile void * addr);
- #endif
-
--static inline int constant_test_bit(int nr, const volatile unsigned long *addr)
-+static __always_inline int constant_test_bit(int nr, const volatile unsigned long *addr)
- {
- return ((1UL << (nr & 31)) & (addr[nr >> 5])) != 0;
- }
-diff -Nur linux-2.6.15.1/include/asm-i386/current.h linux-2.6.15.1-owrt/include/asm-i386/current.h
---- linux-2.6.15.1/include/asm-i386/current.h 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/include/asm-i386/current.h 2006-01-27 15:03:37.000000000 +0100
-@@ -5,7 +5,7 @@
-
- struct task_struct;
-
--static inline struct task_struct * get_current(void)
-+static __always_inline struct task_struct * get_current(void)
- {
- return current_thread_info()->task;
- }
-diff -Nur linux-2.6.15.1/include/asm-i386/string.h linux-2.6.15.1-owrt/include/asm-i386/string.h
---- linux-2.6.15.1/include/asm-i386/string.h 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/include/asm-i386/string.h 2006-01-27 15:03:37.000000000 +0100
-@@ -201,7 +201,7 @@
- return __res;
- }
-
--static inline void * __memcpy(void * to, const void * from, size_t n)
-+static __always_inline void * __memcpy(void * to, const void * from, size_t n)
- {
- int d0, d1, d2;
- __asm__ __volatile__(
-@@ -223,7 +223,7 @@
- * This looks ugly, but the compiler can optimize it totally,
- * as the count is constant.
- */
--static inline void * __constant_memcpy(void * to, const void * from, size_t n)
-+static __always_inline void * __constant_memcpy(void * to, const void * from, size_t n)
- {
- long esi, edi;
- if (!n) return to;
-@@ -367,7 +367,7 @@
- * things 32 bits at a time even when we don't know the size of the
- * area at compile-time..
- */
--static inline void * __constant_c_memset(void * s, unsigned long c, size_t count)
-+static __always_inline void * __constant_c_memset(void * s, unsigned long c, size_t count)
- {
- int d0, d1;
- __asm__ __volatile__(
-@@ -416,7 +416,7 @@
- * This looks horribly ugly, but the compiler can optimize it totally,
- * as we by now know that both pattern and count is constant..
- */
--static inline void * __constant_c_and_count_memset(void * s, unsigned long pattern, size_t count)
-+static __always_inline void * __constant_c_and_count_memset(void * s, unsigned long pattern, size_t count)
- {
- switch (count) {
- case 0:
-diff -Nur linux-2.6.15.1/include/asm-i386/uaccess.h linux-2.6.15.1-owrt/include/asm-i386/uaccess.h
---- linux-2.6.15.1/include/asm-i386/uaccess.h 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/include/asm-i386/uaccess.h 2006-01-27 15:03:37.000000000 +0100
-@@ -411,7 +411,7 @@
- * Returns number of bytes that could not be copied.
- * On success, this will be zero.
- */
--static inline unsigned long __must_check
-+static __always_inline unsigned long __must_check
- __copy_to_user_inatomic(void __user *to, const void *from, unsigned long n)
- {
- if (__builtin_constant_p(n)) {
-@@ -432,7 +432,7 @@
- return __copy_to_user_ll(to, from, n);
- }
-
--static inline unsigned long __must_check
-+static __always_inline unsigned long __must_check
- __copy_to_user(void __user *to, const void *from, unsigned long n)
- {
- might_sleep();
-@@ -456,7 +456,7 @@
- * If some data could not be copied, this function will pad the copied
- * data to the requested size using zero bytes.
- */
--static inline unsigned long
-+static __always_inline unsigned long
- __copy_from_user_inatomic(void *to, const void __user *from, unsigned long n)
- {
- if (__builtin_constant_p(n)) {
-@@ -477,7 +477,7 @@
- return __copy_from_user_ll(to, from, n);
- }
-
--static inline unsigned long
-+static __always_inline unsigned long
- __copy_from_user(void *to, const void __user *from, unsigned long n)
- {
- might_sleep();
-diff -Nur linux-2.6.15.1/include/asm-x86_64/fixmap.h linux-2.6.15.1-owrt/include/asm-x86_64/fixmap.h
---- linux-2.6.15.1/include/asm-x86_64/fixmap.h 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/include/asm-x86_64/fixmap.h 2006-01-27 15:03:37.000000000 +0100
-@@ -76,7 +76,7 @@
- * directly without translation, we catch the bug with a NULL-deference
- * kernel oops. Illegal ranges of incoming indices are caught too.
- */
--static inline unsigned long fix_to_virt(const unsigned int idx)
-+static __always_inline unsigned long fix_to_virt(const unsigned int idx)
- {
- /*
- * this branch gets completely eliminated after inlining,
-diff -Nur linux-2.6.15.1/include/asm-x86_64/uaccess.h linux-2.6.15.1-owrt/include/asm-x86_64/uaccess.h
---- linux-2.6.15.1/include/asm-x86_64/uaccess.h 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/include/asm-x86_64/uaccess.h 2006-01-27 15:03:37.000000000 +0100
-@@ -244,7 +244,7 @@
- extern unsigned long copy_from_user(void *to, const void __user *from, unsigned len);
- extern unsigned long copy_in_user(void __user *to, const void __user *from, unsigned len);
-
--static inline int __copy_from_user(void *dst, const void __user *src, unsigned size)
-+static __always_inline int __copy_from_user(void *dst, const void __user *src, unsigned size)
- {
- int ret = 0;
- if (!__builtin_constant_p(size))
-@@ -273,7 +273,7 @@
- }
- }
-
--static inline int __copy_to_user(void __user *dst, const void *src, unsigned size)
-+static __always_inline int __copy_to_user(void __user *dst, const void *src, unsigned size)
- {
- int ret = 0;
- if (!__builtin_constant_p(size))
-@@ -305,7 +305,7 @@
- }
-
-
--static inline int __copy_in_user(void __user *dst, const void __user *src, unsigned size)
-+static __always_inline int __copy_in_user(void __user *dst, const void __user *src, unsigned size)
- {
- int ret = 0;
- if (!__builtin_constant_p(size))
-diff -Nur linux-2.6.15.1/include/linux/compiler-gcc3.h linux-2.6.15.1-owrt/include/linux/compiler-gcc3.h
---- linux-2.6.15.1/include/linux/compiler-gcc3.h 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/include/linux/compiler-gcc3.h 2006-01-27 15:04:45.000000000 +0100
-@@ -30,3 +30,4 @@
- #define __must_check __attribute__((warn_unused_result))
- #endif
-
-+#define __always_inline inline __attribute__((always_inline))
-diff -Nur linux-2.6.15.1/include/linux/compiler-gcc4.h linux-2.6.15.1-owrt/include/linux/compiler-gcc4.h
---- linux-2.6.15.1/include/linux/compiler-gcc4.h 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/include/linux/compiler-gcc4.h 2006-01-27 15:03:21.000000000 +0100
-@@ -3,14 +3,16 @@
- /* These definitions are for GCC v4.x. */
- #include <linux/compiler-gcc.h>
-
-+#ifdef CONFIG_FORCED_INLINING
-+# undef inline
-+# undef __inline__
-+# undef __inline
- #define inline inline __attribute__((always_inline))
- #define __inline__ __inline__ __attribute__((always_inline))
- #define __inline __inline __attribute__((always_inline))
--#define __deprecated __attribute__((deprecated))
-+#endif
-+
- #define __attribute_used__ __attribute__((__used__))
--#define __attribute_pure__ __attribute__((pure))
--#define __attribute_const__ __attribute__((__const__))
--#define noinline __attribute__((noinline))
- #define __must_check __attribute__((warn_unused_result))
- #define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
--
-+#define __always_inline inline __attribute__((always_inline))
-diff -Nur linux-2.6.15.1/include/linux/mm.h linux-2.6.15.1-owrt/include/linux/mm.h
---- linux-2.6.15.1/include/linux/mm.h 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/include/linux/mm.h 2006-01-27 15:03:37.000000000 +0100
-@@ -507,7 +507,7 @@
- extern struct page *mem_map;
- #endif
-
--static inline void *lowmem_page_address(struct page *page)
-+static __always_inline void *lowmem_page_address(struct page *page)
- {
- return __va(page_to_pfn(page) << PAGE_SHIFT);
- }
-diff -Nur linux-2.6.15.1/include/linux/sched.h linux-2.6.15.1-owrt/include/linux/sched.h
---- linux-2.6.15.1/include/linux/sched.h 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/include/linux/sched.h 2006-01-27 15:03:45.000000000 +0100
-@@ -1102,19 +1102,8 @@
- }
-
-
--#ifdef CONFIG_SECURITY
--/* code is in security.c */
-+/* code is in security.c or kernel/sys.c if !SECURITY */
- extern int capable(int cap);
--#else
--static inline int capable(int cap)
--{
-- if (cap_raised(current->cap_effective, cap)) {
-- current->flags |= PF_SUPERPRIV;
-- return 1;
-- }
-- return 0;
--}
--#endif
-
- /*
- * Routines for handling mm_structs
-diff -Nur linux-2.6.15.1/include/linux/time.h linux-2.6.15.1-owrt/include/linux/time.h
---- linux-2.6.15.1/include/linux/time.h 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/include/linux/time.h 2006-01-27 15:04:09.000000000 +0100
-@@ -38,38 +38,9 @@
- return (a->tv_sec == b->tv_sec) && (a->tv_nsec == b->tv_nsec);
- }
-
--/* Converts Gregorian date to seconds since 1970-01-01 00:00:00.
-- * Assumes input in normal date format, i.e. 1980-12-31 23:59:59
-- * => year=1980, mon=12, day=31, hour=23, min=59, sec=59.
-- *
-- * [For the Julian calendar (which was used in Russia before 1917,
-- * Britain & colonies before 1752, anywhere else before 1582,
-- * and is still in use by some communities) leave out the
-- * -year/100+year/400 terms, and add 10.]
-- *
-- * This algorithm was first published by Gauss (I think).
-- *
-- * WARNING: this function will overflow on 2106-02-07 06:28:16 on
-- * machines were long is 32-bit! (However, as time_t is signed, we
-- * will already get problems at other places on 2038-01-19 03:14:08)
-- */
--static inline unsigned long
--mktime (unsigned int year, unsigned int mon,
-- unsigned int day, unsigned int hour,
-- unsigned int min, unsigned int sec)
--{
-- if (0 >= (int) (mon -= 2)) { /* 1..12 -> 11,12,1..10 */
-- mon += 12; /* Puts Feb last since it has leap day */
-- year -= 1;
-- }
--
-- return (((
-- (unsigned long) (year/4 - year/100 + year/400 + 367*mon/12 + day) +
-- year*365 - 719499
-- )*24 + hour /* now have hours */
-- )*60 + min /* now have minutes */
-- )*60 + sec; /* finally seconds */
--}
-+extern unsigned long mktime (unsigned int year, unsigned int mon,
-+ unsigned int day, unsigned int hour,
-+ unsigned int min, unsigned int sec);
-
- extern struct timespec xtime;
- extern struct timespec wall_to_monotonic;
-@@ -80,6 +51,8 @@
- return xtime.tv_sec;
- }
-
-+extern void set_normalized_timespec (struct timespec *ts, time_t sec, long nsec);
-+
- struct timespec current_kernel_time(void);
-
- #define CURRENT_TIME (current_kernel_time())
-@@ -99,21 +72,6 @@
-
- extern struct timespec timespec_trunc(struct timespec t, unsigned gran);
-
--static inline void
--set_normalized_timespec (struct timespec *ts, time_t sec, long nsec)
--{
-- while (nsec >= NSEC_PER_SEC) {
-- nsec -= NSEC_PER_SEC;
-- ++sec;
-- }
-- while (nsec < 0) {
-- nsec += NSEC_PER_SEC;
-- --sec;
-- }
-- ts->tv_sec = sec;
-- ts->tv_nsec = nsec;
--}
--
- #endif /* __KERNEL__ */
-
- #define NFDBITS __NFDBITS
-diff -Nur linux-2.6.15.1/kernel/cpuset.c linux-2.6.15.1-owrt/kernel/cpuset.c
---- linux-2.6.15.1/kernel/cpuset.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/kernel/cpuset.c 2006-01-27 15:08:36.000000000 +0100
-@@ -1252,7 +1252,7 @@
- * when reading out p->cpuset, as we don't really care if it changes
- * on the next cycle, and we are not going to try to dereference it.
- */
--static inline int pid_array_load(pid_t *pidarray, int npids, struct cpuset *cs)
-+static int pid_array_load(pid_t *pidarray, int npids, struct cpuset *cs)
- {
- int n = 0;
- struct task_struct *g, *p;
-diff -Nur linux-2.6.15.1/kernel/exit.c linux-2.6.15.1-owrt/kernel/exit.c
---- linux-2.6.15.1/kernel/exit.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/kernel/exit.c 2006-01-27 15:08:36.000000000 +0100
-@@ -192,7 +192,7 @@
- return retval;
- }
-
--static inline int has_stopped_jobs(int pgrp)
-+static int has_stopped_jobs(int pgrp)
- {
- int retval = 0;
- struct task_struct *p;
-@@ -229,7 +229,7 @@
- *
- * NOTE that reparent_to_init() gives the caller full capabilities.
- */
--static inline void reparent_to_init(void)
-+static void reparent_to_init(void)
- {
- write_lock_irq(&tasklist_lock);
-
-@@ -366,7 +366,7 @@
-
- EXPORT_SYMBOL(daemonize);
-
--static inline void close_files(struct files_struct * files)
-+static void close_files(struct files_struct * files)
- {
- int i, j;
- struct fdtable *fdt;
-@@ -540,7 +540,7 @@
- p->real_parent = reaper;
- }
-
--static inline void reparent_thread(task_t *p, task_t *father, int traced)
-+static void reparent_thread(task_t *p, task_t *father, int traced)
- {
- /* We don't want people slaying init. */
- if (p->exit_signal != -1)
-@@ -604,7 +604,7 @@
- * group, and if no such member exists, give it to
- * the global child reaper process (ie "init")
- */
--static inline void forget_original_parent(struct task_struct * father,
-+static void forget_original_parent(struct task_struct * father,
- struct list_head *to_release)
- {
- struct task_struct *p, *reaper = father;
-diff -Nur linux-2.6.15.1/kernel/posix-timers.c linux-2.6.15.1-owrt/kernel/posix-timers.c
---- linux-2.6.15.1/kernel/posix-timers.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/kernel/posix-timers.c 2006-01-27 15:08:36.000000000 +0100
-@@ -203,7 +203,7 @@
- return do_sys_settimeofday(tp, NULL);
- }
-
--static inline int common_timer_create(struct k_itimer *new_timer)
-+static int common_timer_create(struct k_itimer *new_timer)
- {
- INIT_LIST_HEAD(&new_timer->it.real.abs_timer_entry);
- init_timer(&new_timer->it.real.timer);
-@@ -513,7 +513,7 @@
- }
-
-
--static inline struct task_struct * good_sigevent(sigevent_t * event)
-+static struct task_struct * good_sigevent(sigevent_t * event)
- {
- struct task_struct *rtn = current->group_leader;
-
-@@ -939,7 +939,7 @@
-
- /* Set a POSIX.1b interval timer. */
- /* timr->it_lock is taken. */
--static inline int
-+static int
- common_timer_set(struct k_itimer *timr, int flags,
- struct itimerspec *new_setting, struct itimerspec *old_setting)
- {
-@@ -1122,7 +1122,7 @@
- /*
- * return timer owned by the process, used by exit_itimers
- */
--static inline void itimer_delete(struct k_itimer *timer)
-+static void itimer_delete(struct k_itimer *timer)
- {
- unsigned long flags;
-
-diff -Nur linux-2.6.15.1/kernel/sched.c linux-2.6.15.1-owrt/kernel/sched.c
---- linux-2.6.15.1/kernel/sched.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/kernel/sched.c 2006-01-27 15:08:36.000000000 +0100
-@@ -512,7 +512,7 @@
- * long it was waiting to run. We also note when it began so that we
- * can keep stats on how long its timeslice is.
- */
--static inline void sched_info_arrive(task_t *t)
-+static void sched_info_arrive(task_t *t)
- {
- unsigned long now = jiffies, diff = 0;
- struct runqueue *rq = task_rq(t);
-@@ -994,7 +994,7 @@
- * We want to under-estimate the load of migration sources, to
- * balance conservatively.
- */
--static inline unsigned long __source_load(int cpu, int type, enum idle_type idle)
-+static unsigned long __source_load(int cpu, int type, enum idle_type idle)
- {
- runqueue_t *rq = cpu_rq(cpu);
- unsigned long running = rq->nr_running;
-@@ -1849,7 +1849,7 @@
- * pull_task - move a task from a remote runqueue to the local runqueue.
- * Both runqueues must be locked.
- */
--static inline
-+static
- void pull_task(runqueue_t *src_rq, prio_array_t *src_array, task_t *p,
- runqueue_t *this_rq, prio_array_t *this_array, int this_cpu)
- {
-@@ -1871,7 +1871,7 @@
- /*
- * can_migrate_task - may task p from runqueue rq be migrated to this_cpu?
- */
--static inline
-+static
- int can_migrate_task(task_t *p, runqueue_t *rq, int this_cpu,
- struct sched_domain *sd, enum idle_type idle,
- int *all_pinned)
-@@ -2357,7 +2357,7 @@
- * idle_balance is called by schedule() if this_cpu is about to become
- * idle. Attempts to pull tasks from other CPUs.
- */
--static inline void idle_balance(int this_cpu, runqueue_t *this_rq)
-+static void idle_balance(int this_cpu, runqueue_t *this_rq)
- {
- struct sched_domain *sd;
-
-@@ -2741,7 +2741,7 @@
- resched_task(rq->idle);
- }
-
--static inline void wake_sleeping_dependent(int this_cpu, runqueue_t *this_rq)
-+static void wake_sleeping_dependent(int this_cpu, runqueue_t *this_rq)
- {
- struct sched_domain *tmp, *sd = NULL;
- cpumask_t sibling_map;
-@@ -2795,7 +2795,7 @@
- return p->time_slice * (100 - sd->per_cpu_gain) / 100;
- }
-
--static inline int dependent_sleeper(int this_cpu, runqueue_t *this_rq)
-+static int dependent_sleeper(int this_cpu, runqueue_t *this_rq)
- {
- struct sched_domain *tmp, *sd = NULL;
- cpumask_t sibling_map;
-@@ -5505,7 +5505,7 @@
- * Detach sched domains from a group of cpus specified in cpu_map
- * These cpus will now be attached to the NULL domain
- */
--static inline void detach_destroy_domains(const cpumask_t *cpu_map)
-+static void detach_destroy_domains(const cpumask_t *cpu_map)
- {
- int i;
-
-diff -Nur linux-2.6.15.1/kernel/signal.c linux-2.6.15.1-owrt/kernel/signal.c
---- linux-2.6.15.1/kernel/signal.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/kernel/signal.c 2006-01-27 15:08:36.000000000 +0100
-@@ -465,7 +465,7 @@
- spin_unlock_irqrestore(&current->sighand->siglock, flags);
- }
-
--static inline int collect_signal(int sig, struct sigpending *list, siginfo_t *info)
-+static int collect_signal(int sig, struct sigpending *list, siginfo_t *info)
- {
- struct sigqueue *q, *first = NULL;
- int still_pending = 0;
-@@ -1786,7 +1786,7 @@
- * We return zero if we still hold the siglock and should look
- * for another signal without checking group_stop_count again.
- */
--static inline int handle_group_stop(void)
-+static int handle_group_stop(void)
- {
- int stop_count;
-
-diff -Nur linux-2.6.15.1/kernel/sys.c linux-2.6.15.1-owrt/kernel/sys.c
---- linux-2.6.15.1/kernel/sys.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/kernel/sys.c 2006-01-27 15:03:45.000000000 +0100
-@@ -223,6 +223,18 @@
-
- EXPORT_SYMBOL(unregister_reboot_notifier);
-
-+#ifndef CONFIG_SECURITY
-+int capable(int cap)
-+{
-+ if (cap_raised(current->cap_effective, cap)) {
-+ current->flags |= PF_SUPERPRIV;
-+ return 1;
-+ }
-+ return 0;
-+}
-+EXPORT_SYMBOL(capable);
-+#endif
-+
- static int set_one_prio(struct task_struct *p, int niceval, int error)
- {
- int no_nice;
-diff -Nur linux-2.6.15.1/kernel/time.c linux-2.6.15.1-owrt/kernel/time.c
---- linux-2.6.15.1/kernel/time.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/kernel/time.c 2006-01-27 15:04:09.000000000 +0100
-@@ -583,6 +583,67 @@
- }
- EXPORT_SYMBOL_GPL(getnstimestamp);
-
-+/* Converts Gregorian date to seconds since 1970-01-01 00:00:00.
-+ * Assumes input in normal date format, i.e. 1980-12-31 23:59:59
-+ * => year=1980, mon=12, day=31, hour=23, min=59, sec=59.
-+ *
-+ * [For the Julian calendar (which was used in Russia before 1917,
-+ * Britain & colonies before 1752, anywhere else before 1582,
-+ * and is still in use by some communities) leave out the
-+ * -year/100+year/400 terms, and add 10.]
-+ *
-+ * This algorithm was first published by Gauss (I think).
-+ *
-+ * WARNING: this function will overflow on 2106-02-07 06:28:16 on
-+ * machines were long is 32-bit! (However, as time_t is signed, we
-+ * will already get problems at other places on 2038-01-19 03:14:08)
-+ */
-+unsigned long
-+mktime (unsigned int year, unsigned int mon,
-+ unsigned int day, unsigned int hour,
-+ unsigned int min, unsigned int sec)
-+{
-+ if (0 >= (int) (mon -= 2)) { /* 1..12 -> 11,12,1..10 */
-+ mon += 12; /* Puts Feb last since it has leap day */
-+ year -= 1;
-+ }
-+
-+ return ((((unsigned long)
-+ (year/4 - year/100 + year/400 + 367*mon/12 + day) +
-+ year*365 - 719499
-+ )*24 + hour /* now have hours */
-+ )*60 + min /* now have minutes */
-+ )*60 + sec; /* finally seconds */
-+}
-+
-+/**
-+ * set_normalized_timespec - set timespec sec and nsec parts and normalize
-+ *
-+ * @ts: pointer to timespec variable to be set
-+ * @sec: seconds to set
-+ * @nsec: nanoseconds to set
-+ *
-+ * Set seconds and nanoseconds field of a timespec variable and
-+ * normalize to the timespec storage format
-+ *
-+ * Note: The tv_nsec part is always in the range of
-+ * 0 <= tv_nsec < NSEC_PER_SEC
-+ * For negative values only the tv_sec field is negative !
-+ */
-+void set_normalized_timespec (struct timespec *ts, time_t sec, long nsec)
-+{
-+ while (nsec >= NSEC_PER_SEC) {
-+ nsec -= NSEC_PER_SEC;
-+ ++sec;
-+ }
-+ while (nsec < 0) {
-+ nsec += NSEC_PER_SEC;
-+ --sec;
-+ }
-+ ts->tv_sec = sec;
-+ ts->tv_nsec = nsec;
-+}
-+
- #if (BITS_PER_LONG < 64)
- u64 get_jiffies_64(void)
- {
-diff -Nur linux-2.6.15.1/kernel/workqueue.c linux-2.6.15.1-owrt/kernel/workqueue.c
---- linux-2.6.15.1/kernel/workqueue.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/kernel/workqueue.c 2006-01-27 15:08:36.000000000 +0100
-@@ -147,7 +147,7 @@
- return ret;
- }
-
--static inline void run_workqueue(struct cpu_workqueue_struct *cwq)
-+static void run_workqueue(struct cpu_workqueue_struct *cwq)
- {
- unsigned long flags;
-
-diff -Nur linux-2.6.15.1/lib/Kconfig.debug linux-2.6.15.1-owrt/lib/Kconfig.debug
---- linux-2.6.15.1/lib/Kconfig.debug 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/lib/Kconfig.debug 2006-01-27 15:03:21.000000000 +0100
-@@ -186,6 +186,20 @@
- some architectures or if you use external debuggers.
- If you don't debug the kernel, you can say N.
-
-+config FORCED_INLINING
-+ bool "Force gcc to inline functions marked 'inline'"
-+ depends on DEBUG_KERNEL
-+ default y
-+ help
-+ This option determines if the kernel forces gcc to inline the functions
-+ developers have marked 'inline'. Doing so takes away freedom from gcc to
-+ do what it thinks is best, which is desirable for the gcc 3.x series of
-+ compilers. The gcc 4.x series have a rewritten inlining algorithm and
-+ disabling this option will generate a smaller kernel there. Hopefully
-+ this algorithm is so good that allowing gcc4 to make the decision can
-+ become the default in the future, until then this option is there to
-+ test gcc for this.
-+
- config RCU_TORTURE_TEST
- tristate "torture tests for RCU"
- depends on DEBUG_KERNEL
-diff -Nur linux-2.6.15.1/mm/internal.h linux-2.6.15.1-owrt/mm/internal.h
---- linux-2.6.15.1/mm/internal.h 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/mm/internal.h 2006-01-27 15:04:04.000000000 +0100
-@@ -9,5 +9,20 @@
- * 2 of the License, or (at your option) any later version.
- */
-
--/* page_alloc.c */
--extern void set_page_refs(struct page *page, int order);
-+static inline void set_page_refs(struct page *page, int order)
-+{
-+#ifdef CONFIG_MMU
-+ set_page_count(page, 1);
-+#else
-+ int i;
-+
-+ /*
-+ * We need to reference all the pages for this order, otherwise if
-+ * anyone accesses one of the pages with (get/put) it will be freed.
-+ * - eg: access_process_vm()
-+ */
-+ for (i = 0; i < (1 << order); i++)
-+ set_page_count(page + i, 1);
-+#endif /* CONFIG_MMU */
-+}
-+
-diff -Nur linux-2.6.15.1/mm/page_alloc.c linux-2.6.15.1-owrt/mm/page_alloc.c
---- linux-2.6.15.1/mm/page_alloc.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/mm/page_alloc.c 2006-01-27 15:04:04.000000000 +0100
-@@ -451,23 +451,6 @@
- return page;
- }
-
--void set_page_refs(struct page *page, int order)
--{
--#ifdef CONFIG_MMU
-- set_page_count(page, 1);
--#else
-- int i;
--
-- /*
-- * We need to reference all the pages for this order, otherwise if
-- * anyone accesses one of the pages with (get/put) it will be freed.
-- * - eg: access_process_vm()
-- */
-- for (i = 0; i < (1 << order); i++)
-- set_page_count(page + i, 1);
--#endif /* CONFIG_MMU */
--}
--
- /*
- * This page is about to be returned from the page allocator
- */
-diff -Nur linux-2.6.15.1/net/ieee80211/ieee80211_module.c linux-2.6.15.1-owrt/net/ieee80211/ieee80211_module.c
---- linux-2.6.15.1/net/ieee80211/ieee80211_module.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/net/ieee80211/ieee80211_module.c 2006-01-27 15:08:36.000000000 +0100
-@@ -62,7 +62,7 @@
- MODULE_AUTHOR(DRV_COPYRIGHT);
- MODULE_LICENSE("GPL");
-
--static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee)
-+static int ieee80211_networks_allocate(struct ieee80211_device *ieee)
- {
- if (ieee->networks)
- return 0;
-@@ -90,7 +90,7 @@
- ieee->networks = NULL;
- }
-
--static inline void ieee80211_networks_initialize(struct ieee80211_device *ieee)
-+static void ieee80211_networks_initialize(struct ieee80211_device *ieee)
- {
- int i;
-
-diff -Nur linux-2.6.15.1/net/ieee80211/ieee80211_rx.c linux-2.6.15.1-owrt/net/ieee80211/ieee80211_rx.c
---- linux-2.6.15.1/net/ieee80211/ieee80211_rx.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/net/ieee80211/ieee80211_rx.c 2006-01-27 15:08:36.000000000 +0100
-@@ -35,7 +35,7 @@
-
- #include <net/ieee80211.h>
-
--static inline void ieee80211_monitor_rx(struct ieee80211_device *ieee,
-+static void ieee80211_monitor_rx(struct ieee80211_device *ieee,
- struct sk_buff *skb,
- struct ieee80211_rx_stats *rx_stats)
- {
-@@ -165,7 +165,7 @@
- * Responsible for handling management control frames
- *
- * Called by ieee80211_rx */
--static inline int
-+static int
- ieee80211_rx_frame_mgmt(struct ieee80211_device *ieee, struct sk_buff *skb,
- struct ieee80211_rx_stats *rx_stats, u16 type,
- u16 stype)
-@@ -266,7 +266,7 @@
- }
-
- /* Called only as a tasklet (software IRQ), by ieee80211_rx */
--static inline int
-+static int
- ieee80211_rx_frame_decrypt(struct ieee80211_device *ieee, struct sk_buff *skb,
- struct ieee80211_crypt_data *crypt)
- {
-@@ -297,7 +297,7 @@
- }
-
- /* Called only as a tasklet (software IRQ), by ieee80211_rx */
--static inline int
-+static int
- ieee80211_rx_frame_decrypt_msdu(struct ieee80211_device *ieee,
- struct sk_buff *skb, int keyidx,
- struct ieee80211_crypt_data *crypt)
-@@ -1157,7 +1157,7 @@
-
- /***************************************************/
-
--static inline int ieee80211_network_init(struct ieee80211_device *ieee, struct ieee80211_probe_response
-+static int ieee80211_network_init(struct ieee80211_device *ieee, struct ieee80211_probe_response
- *beacon,
- struct ieee80211_network *network,
- struct ieee80211_rx_stats *stats)
-@@ -1236,7 +1236,7 @@
- !memcmp(src->ssid, dst->ssid, src->ssid_len));
- }
-
--static inline void update_network(struct ieee80211_network *dst,
-+static void update_network(struct ieee80211_network *dst,
- struct ieee80211_network *src)
- {
- int qos_active;
-@@ -1295,7 +1295,7 @@
- return (WLAN_FC_GET_STYPE(le16_to_cpu(fc)) == IEEE80211_STYPE_BEACON);
- }
-
--static inline void ieee80211_process_probe_response(struct ieee80211_device
-+static void ieee80211_process_probe_response(struct ieee80211_device
- *ieee, struct
- ieee80211_probe_response
- *beacon, struct ieee80211_rx_stats
-diff -Nur linux-2.6.15.1/net/ieee80211/ieee80211_tx.c linux-2.6.15.1-owrt/net/ieee80211/ieee80211_tx.c
---- linux-2.6.15.1/net/ieee80211/ieee80211_tx.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/net/ieee80211/ieee80211_tx.c 2006-01-27 15:08:36.000000000 +0100
-@@ -127,7 +127,7 @@
- static u8 P802_1H_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0xf8 };
- static u8 RFC1042_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0x00 };
-
--static inline int ieee80211_copy_snap(u8 * data, u16 h_proto)
-+static int ieee80211_copy_snap(u8 * data, u16 h_proto)
- {
- struct ieee80211_snap_hdr *snap;
- u8 *oui;
-@@ -150,7 +150,7 @@
- return SNAP_SIZE + sizeof(u16);
- }
-
--static inline int ieee80211_encrypt_fragment(struct ieee80211_device *ieee,
-+static int ieee80211_encrypt_fragment(struct ieee80211_device *ieee,
- struct sk_buff *frag, int hdr_len)
- {
- struct ieee80211_crypt_data *crypt = ieee->crypt[ieee->tx_keyidx];
-diff -Nur linux-2.6.15.1/net/ieee80211/ieee80211_wx.c linux-2.6.15.1-owrt/net/ieee80211/ieee80211_wx.c
---- linux-2.6.15.1/net/ieee80211/ieee80211_wx.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/net/ieee80211/ieee80211_wx.c 2006-01-27 15:08:36.000000000 +0100
-@@ -42,7 +42,7 @@
- };
-
- #define MAX_CUSTOM_LEN 64
--static inline char *ipw2100_translate_scan(struct ieee80211_device *ieee,
-+static char *ipw2100_translate_scan(struct ieee80211_device *ieee,
- char *start, char *stop,
- struct ieee80211_network *network)
- {
-diff -Nur linux-2.6.15.1/net/netfilter/nfnetlink.c linux-2.6.15.1-owrt/net/netfilter/nfnetlink.c
---- linux-2.6.15.1/net/netfilter/nfnetlink.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/net/netfilter/nfnetlink.c 2006-01-27 15:08:36.000000000 +0100
-@@ -212,7 +212,7 @@
- }
-
- /* Process one complete nfnetlink message. */
--static inline int nfnetlink_rcv_msg(struct sk_buff *skb,
-+static int nfnetlink_rcv_msg(struct sk_buff *skb,
- struct nlmsghdr *nlh, int *errp)
- {
- struct nfnl_callback *nc;
-diff -Nur linux-2.6.15.1/security/selinux/hooks.c linux-2.6.15.1-owrt/security/selinux/hooks.c
---- linux-2.6.15.1/security/selinux/hooks.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/security/selinux/hooks.c 2006-01-27 15:08:36.000000000 +0100
-@@ -1018,7 +1018,7 @@
- has the same SID as the process. If av is zero, then
- access to the file is not checked, e.g. for cases
- where only the descriptor is affected like seek. */
--static inline int file_has_perm(struct task_struct *tsk,
-+static int file_has_perm(struct task_struct *tsk,
- struct file *file,
- u32 av)
- {
-diff -Nur linux-2.6.15.1/sound/oss/esssolo1.c linux-2.6.15.1-owrt/sound/oss/esssolo1.c
---- linux-2.6.15.1/sound/oss/esssolo1.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/sound/oss/esssolo1.c 2006-01-27 15:08:36.000000000 +0100
-@@ -515,7 +515,7 @@
- return 0;
- }
-
--static inline int prog_dmabuf_dac(struct solo1_state *s)
-+static int prog_dmabuf_dac(struct solo1_state *s)
- {
- unsigned long va;
- int c;
-diff -Nur linux-2.6.15.1/sound/pci/es1968.c linux-2.6.15.1-owrt/sound/pci/es1968.c
---- linux-2.6.15.1/sound/pci/es1968.c 2006-01-15 07:16:02.000000000 +0100
-+++ linux-2.6.15.1-owrt/sound/pci/es1968.c 2006-01-27 15:13:39.000000000 +0100
-@@ -731,7 +731,7 @@
- apu_data_set(chip, data);
- }
-
--static inline void apu_set_register(es1968_t *chip, u16 channel, u8 reg, u16 data)
-+static void apu_set_register(es1968_t *chip, u16 channel, u8 reg, u16 data)
- {
- unsigned long flags;
- spin_lock_irqsave(&chip->reg_lock, flags);
-diff -Nur linux-2.6.15.1/arch/mips/Makefile linux-2.6.15.1-owrt/arch/mips/Makefile
---- linux-2.6.15.1/arch/mips/Makefile 2006-01-21 17:13:20.000000000 +0100
-+++ linux-2.6.15.1-owrt/arch/mips/Makefile 2006-01-28 11:37:25.000000000 +0100
-@@ -93,7 +93,6 @@
- #
- cflags-y += -I $(TOPDIR)/include/asm/gcc
- cflags-y += -G 0 -mno-abicalls -fno-pic -pipe
--cflags-y += $(call cc-option, -finline-limit=100000)
- LDFLAGS_vmlinux += -G 0 -static -n -nostdlib
- MODFLAGS += -mlong-calls
-
--- linux-2.6.15.1.old/include/asm-mips/system.h 2006-01-28 15:02:54.481032280 +0100
+++ linux-2.6.15.1.dev/include/asm-mips/system.h 2006-01-28 14:47:51.634285848 +0100
@@ -273,7 +273,7 @@
diff --git a/openwrt/target/linux/generic-2.6/patches/100-netfilter_layer7_2.1nbd.patch b/openwrt/target/linux/generic-2.6/patches/100-netfilter_layer7_2.1nbd.patch
index ba46de31bc..ed8009cc6e 100644
--- a/openwrt/target/linux/generic-2.6/patches/100-netfilter_layer7_2.1nbd.patch
+++ b/openwrt/target/linux/generic-2.6/patches/100-netfilter_layer7_2.1nbd.patch
@@ -1,6 +1,6 @@
-diff -urN linux.old/include/linux/netfilter_ipv4/ip_conntrack.h linux.dev/include/linux/netfilter_ipv4/ip_conntrack.h
---- linux.old/include/linux/netfilter_ipv4/ip_conntrack.h 2006-01-31 20:18:24.952957500 +0100
-+++ linux.dev/include/linux/netfilter_ipv4/ip_conntrack.h 2006-01-31 19:52:21.869393000 +0100
+diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_conntrack.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_conntrack.h
+--- linux-2.6.16/include/linux/netfilter_ipv4/ip_conntrack.h 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_conntrack.h 2006-03-20 13:48:06.000000000 +0100
@@ -122,6 +122,15 @@
/* Traversed often, so hopefully in different cacheline to top */
/* These are my tuples; original and reply */
@@ -17,9 +17,9 @@ diff -urN linux.old/include/linux/netfilter_ipv4/ip_conntrack.h linux.dev/includ
};
struct ip_conntrack_expect
-diff -urN linux.old/include/linux/netfilter_ipv4/ipt_layer7.h linux.dev/include/linux/netfilter_ipv4/ipt_layer7.h
---- linux.old/include/linux/netfilter_ipv4/ipt_layer7.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/include/linux/netfilter_ipv4/ipt_layer7.h 2006-01-31 20:04:29.500745000 +0100
+diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ipt_layer7.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ipt_layer7.h
+--- linux-2.6.16/include/linux/netfilter_ipv4/ipt_layer7.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ipt_layer7.h 2006-03-20 13:48:06.000000000 +0100
@@ -0,0 +1,27 @@
+/*
+ By Matthew Strait <quadong@users.sf.net>, Dec 2003.
@@ -48,49 +48,9 @@ diff -urN linux.old/include/linux/netfilter_ipv4/ipt_layer7.h linux.dev/include/
+};
+
+#endif /* _IPT_LAYER7_H */
-diff -urN linux.old/net/ipv4/netfilter/Kconfig linux.dev/net/ipv4/netfilter/Kconfig
---- linux.old/net/ipv4/netfilter/Kconfig 2006-01-31 20:18:24.960958000 +0100
-+++ linux.dev/net/ipv4/netfilter/Kconfig 2006-01-31 19:52:21.869393000 +0100
-@@ -219,6 +219,24 @@
-
- To compile it as a module, choose M here. If unsure, say N.
-
-+config IP_NF_MATCH_LAYER7
-+ tristate "Layer 7 match support (EXPERIMENTAL)"
-+ depends on IP_NF_IPTABLES && IP_NF_CT_ACCT && IP_NF_CONNTRACK && EXPERIMENTAL
-+ help
-+ Say Y if you want to be able to classify connections (and their
-+ packets) based on regular expression matching of their application
-+ layer data. This is one way to classify applications such as
-+ peer-to-peer filesharing systems that do not always use the same
-+ port.
-+
-+ To compile it as a module, choose M here. If unsure, say N.
-+
-+config IP_NF_MATCH_LAYER7_DEBUG
-+ bool "Layer 7 debugging output"
-+ depends on IP_NF_MATCH_LAYER7
-+ help
-+ Say Y to get lots of debugging output.
-+
- config IP_NF_MATCH_PKTTYPE
- tristate "Packet type match support"
- depends on IP_NF_IPTABLES
-diff -urN linux.old/net/ipv4/netfilter/Makefile linux.dev/net/ipv4/netfilter/Makefile
---- linux.old/net/ipv4/netfilter/Makefile 2006-01-31 20:18:24.960958000 +0100
-+++ linux.dev/net/ipv4/netfilter/Makefile 2006-01-31 19:52:21.873393250 +0100
-@@ -77,6 +77,8 @@
- obj-$(CONFIG_IP_NF_MATCH_COMMENT) += ipt_comment.o
- obj-$(CONFIG_IP_NF_MATCH_STRING) += ipt_string.o
-
-+obj-$(CONFIG_IP_NF_MATCH_LAYER7) += ipt_layer7.o
-+
- # targets
- obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o
- obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o
-diff -urN linux.old/net/ipv4/netfilter/ip_conntrack_core.c linux.dev/net/ipv4/netfilter/ip_conntrack_core.c
---- linux.old/net/ipv4/netfilter/ip_conntrack_core.c 2006-01-31 20:18:24.964958250 +0100
-+++ linux.dev/net/ipv4/netfilter/ip_conntrack_core.c 2006-01-31 19:52:21.873393250 +0100
+diff -Nur linux-2.6.16/net/ipv4/netfilter/ip_conntrack_core.c linux-2.6.16-owrt/net/ipv4/netfilter/ip_conntrack_core.c
+--- linux-2.6.16/net/ipv4/netfilter/ip_conntrack_core.c 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/ip_conntrack_core.c 2006-03-20 13:48:06.000000000 +0100
@@ -339,6 +339,13 @@
* too. */
ip_ct_remove_expectations(ct);
@@ -105,10 +65,10 @@ diff -urN linux.old/net/ipv4/netfilter/ip_conntrack_core.c linux.dev/net/ipv4/ne
/* We overload first tuple to link into unconfirmed list. */
if (!is_confirmed(ct)) {
BUG_ON(list_empty(&ct->tuplehash[IP_CT_DIR_ORIGINAL].list));
-diff -urN linux.old/net/ipv4/netfilter/ip_conntrack_standalone.c linux.dev/net/ipv4/netfilter/ip_conntrack_standalone.c
---- linux.old/net/ipv4/netfilter/ip_conntrack_standalone.c 2006-01-31 20:18:24.964958250 +0100
-+++ linux.dev/net/ipv4/netfilter/ip_conntrack_standalone.c 2006-01-31 19:52:21.877393500 +0100
-@@ -188,6 +188,12 @@
+diff -Nur linux-2.6.16/net/ipv4/netfilter/ip_conntrack_standalone.c linux-2.6.16-owrt/net/ipv4/netfilter/ip_conntrack_standalone.c
+--- linux-2.6.16/net/ipv4/netfilter/ip_conntrack_standalone.c 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/ip_conntrack_standalone.c 2006-03-20 13:48:06.000000000 +0100
+@@ -189,6 +189,12 @@
return -ENOSPC;
#endif
@@ -121,9 +81,9 @@ diff -urN linux.old/net/ipv4/netfilter/ip_conntrack_standalone.c linux.dev/net/i
if (seq_printf(s, "use=%u\n", atomic_read(&conntrack->ct_general.use)))
return -ENOSPC;
-diff -urN linux.old/net/ipv4/netfilter/ipt_layer7.c linux.dev/net/ipv4/netfilter/ipt_layer7.c
---- linux.old/net/ipv4/netfilter/ipt_layer7.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/net/ipv4/netfilter/ipt_layer7.c 2006-01-31 20:55:41.145545750 +0100
+diff -Nur linux-2.6.16/net/ipv4/netfilter/ipt_layer7.c linux-2.6.16-owrt/net/ipv4/netfilter/ipt_layer7.c
+--- linux-2.6.16/net/ipv4/netfilter/ipt_layer7.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/ipt_layer7.c 2006-03-20 13:48:06.000000000 +0100
@@ -0,0 +1,592 @@
+/*
+ Kernel module to match application layer (OSI layer 7)
@@ -717,9 +677,49 @@ diff -urN linux.old/net/ipv4/netfilter/ipt_layer7.c linux.dev/net/ipv4/netfilter
+
+module_init(init);
+module_exit(fini);
-diff -urN linux.old/net/ipv4/netfilter/regexp/regexp.c linux.dev/net/ipv4/netfilter/regexp/regexp.c
---- linux.old/net/ipv4/netfilter/regexp/regexp.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/net/ipv4/netfilter/regexp/regexp.c 2006-01-31 19:52:21.885394000 +0100
+diff -Nur linux-2.6.16/net/ipv4/netfilter/Kconfig linux-2.6.16-owrt/net/ipv4/netfilter/Kconfig
+--- linux-2.6.16/net/ipv4/netfilter/Kconfig 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/Kconfig 2006-03-20 13:48:39.000000000 +0100
+@@ -201,6 +201,24 @@
+
+ To compile it as a module, choose M here. If unsure, say N.
+
++config IP_NF_MATCH_LAYER7
++ tristate "Layer 7 match support (EXPERIMENTAL)"
++ depends on IP_NF_IPTABLES && IP_NF_CT_ACCT && IP_NF_CONNTRACK && EXPERIMENTAL
++ help
++ Say Y if you want to be able to classify connections (and their
++ packets) based on regular expression matching of their application
++ layer data. This is one way to classify applications such as
++ peer-to-peer filesharing systems that do not always use the same
++ port.
++
++ To compile it as a module, choose M here. If unsure, say N.
++
++config IP_NF_MATCH_LAYER7_DEBUG
++ bool "Layer 7 debugging output"
++ depends on IP_NF_MATCH_LAYER7
++ help
++ Say Y to get lots of debugging output.
++
+ config IP_NF_MATCH_MULTIPORT
+ tristate "Multiple port match support"
+ depends on IP_NF_IPTABLES
+diff -Nur linux-2.6.16/net/ipv4/netfilter/Makefile linux-2.6.16-owrt/net/ipv4/netfilter/Makefile
+--- linux-2.6.16/net/ipv4/netfilter/Makefile 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/Makefile 2006-03-20 13:48:06.000000000 +0100
+@@ -59,6 +59,8 @@
+ obj-$(CONFIG_IP_NF_MATCH_ADDRTYPE) += ipt_addrtype.o
+ obj-$(CONFIG_IP_NF_MATCH_POLICY) += ipt_policy.o
+
++obj-$(CONFIG_IP_NF_MATCH_LAYER7) += ipt_layer7.o
++
+ # targets
+ obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o
+ obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o
+diff -Nur linux-2.6.16/net/ipv4/netfilter/regexp/regexp.c linux-2.6.16-owrt/net/ipv4/netfilter/regexp/regexp.c
+--- linux-2.6.16/net/ipv4/netfilter/regexp/regexp.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/regexp/regexp.c 2006-03-20 13:48:06.000000000 +0100
@@ -0,0 +1,1195 @@
+/*
+ * regcomp and regexec -- regsub and regerror are elsewhere
@@ -1916,9 +1916,9 @@ diff -urN linux.old/net/ipv4/netfilter/regexp/regexp.c linux.dev/net/ipv4/netfil
+#endif
+
+
-diff -urN linux.old/net/ipv4/netfilter/regexp/regexp.h linux.dev/net/ipv4/netfilter/regexp/regexp.h
---- linux.old/net/ipv4/netfilter/regexp/regexp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/net/ipv4/netfilter/regexp/regexp.h 2006-01-31 19:52:21.885394000 +0100
+diff -Nur linux-2.6.16/net/ipv4/netfilter/regexp/regexp.h linux-2.6.16-owrt/net/ipv4/netfilter/regexp/regexp.h
+--- linux-2.6.16/net/ipv4/netfilter/regexp/regexp.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/regexp/regexp.h 2006-03-20 13:48:06.000000000 +0100
@@ -0,0 +1,41 @@
+/*
+ * Definitions etc. for regexp(3) routines.
@@ -1961,18 +1961,18 @@ diff -urN linux.old/net/ipv4/netfilter/regexp/regexp.h linux.dev/net/ipv4/netfil
+void regerror(char *s);
+
+#endif
-diff -urN linux.old/net/ipv4/netfilter/regexp/regmagic.h linux.dev/net/ipv4/netfilter/regexp/regmagic.h
---- linux.old/net/ipv4/netfilter/regexp/regmagic.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/net/ipv4/netfilter/regexp/regmagic.h 2006-01-31 19:52:21.885394000 +0100
+diff -Nur linux-2.6.16/net/ipv4/netfilter/regexp/regmagic.h linux-2.6.16-owrt/net/ipv4/netfilter/regexp/regmagic.h
+--- linux-2.6.16/net/ipv4/netfilter/regexp/regmagic.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/regexp/regmagic.h 2006-03-20 13:48:06.000000000 +0100
@@ -0,0 +1,5 @@
+/*
+ * The first byte of the regexp internal "program" is actually this magic
+ * number; the start node begins in the second byte.
+ */
+#define MAGIC 0234
-diff -urN linux.old/net/ipv4/netfilter/regexp/regsub.c linux.dev/net/ipv4/netfilter/regexp/regsub.c
---- linux.old/net/ipv4/netfilter/regexp/regsub.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/net/ipv4/netfilter/regexp/regsub.c 2006-01-31 19:52:21.885394000 +0100
+diff -Nur linux-2.6.16/net/ipv4/netfilter/regexp/regsub.c linux-2.6.16-owrt/net/ipv4/netfilter/regexp/regsub.c
+--- linux-2.6.16/net/ipv4/netfilter/regexp/regsub.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/regexp/regsub.c 2006-03-20 13:48:06.000000000 +0100
@@ -0,0 +1,95 @@
+/*
+ * regsub
diff --git a/openwrt/target/linux/generic-2.6/patches/103-netfilter-ipset.patch b/openwrt/target/linux/generic-2.6/patches/103-netfilter-ipset.patch
index 54e2828a16..fb75c8b7eb 100644
--- a/openwrt/target/linux/generic-2.6/patches/103-netfilter-ipset.patch
+++ b/openwrt/target/linux/generic-2.6/patches/103-netfilter-ipset.patch
@@ -1,6 +1,6 @@
-diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set.h
---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set.h 2005-09-20 13:11:38.782384000 +0200
+diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set.h
+--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set.h 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,489 @@
+#ifndef _IP_SET_H
+#define _IP_SET_H
@@ -491,9 +491,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set.h linux-2.6.12.5-ip
+#endif /* __KERNEL__ */
+
+#endif /*_IP_SET_H*/
-diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_iphash.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_iphash.h
---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_iphash.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_iphash.h 2005-09-20 13:11:38.782384000 +0200
+diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set_iphash.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_iphash.h
+--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set_iphash.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_iphash.h 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,30 @@
+#ifndef __IP_SET_IPHASH_H
+#define __IP_SET_IPHASH_H
@@ -525,9 +525,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_iphash.h linux-2.6.
+};
+
+#endif /* __IP_SET_IPHASH_H */
-diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_ipmap.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_ipmap.h
---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_ipmap.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_ipmap.h 2005-09-20 13:11:38.782384000 +0200
+diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set_ipmap.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_ipmap.h
+--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set_ipmap.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_ipmap.h 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,56 @@
+#ifndef __IP_SET_IPMAP_H
+#define __IP_SET_IPMAP_H
@@ -585,9 +585,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_ipmap.h linux-2.6.1
+}
+
+#endif /* __IP_SET_IPMAP_H */
-diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_iptree.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_iptree.h
---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_iptree.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_iptree.h 2005-09-20 13:11:38.782384000 +0200
+diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set_iptree.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_iptree.h
+--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set_iptree.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_iptree.h 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,39 @@
+#ifndef __IP_SET_IPTREE_H
+#define __IP_SET_IPTREE_H
@@ -628,9 +628,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_iptree.h linux-2.6.
+};
+
+#endif /* __IP_SET_IPTREE_H */
-diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_jhash.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_jhash.h
---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_jhash.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_jhash.h 2005-09-20 13:11:38.782384000 +0200
+diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set_jhash.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_jhash.h
+--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set_jhash.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_jhash.h 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,148 @@
+#ifndef _LINUX_IPSET_JHASH_H
+#define _LINUX_IPSET_JHASH_H
@@ -780,9 +780,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_jhash.h linux-2.6.1
+}
+
+#endif /* _LINUX_IPSET_JHASH_H */
-diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_macipmap.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_macipmap.h
---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_macipmap.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_macipmap.h 2005-09-20 13:11:38.782384000 +0200
+diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set_macipmap.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_macipmap.h
+--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set_macipmap.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_macipmap.h 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,38 @@
+#ifndef __IP_SET_MACIPMAP_H
+#define __IP_SET_MACIPMAP_H
@@ -822,9 +822,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_macipmap.h linux-2.
+};
+
+#endif /* __IP_SET_MACIPMAP_H */
-diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_malloc.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_malloc.h
---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_malloc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_malloc.h 2005-09-20 13:11:38.782384000 +0200
+diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set_malloc.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_malloc.h
+--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set_malloc.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_malloc.h 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,42 @@
+#ifndef _IP_SET_MALLOC_H
+#define _IP_SET_MALLOC_H
@@ -868,9 +868,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_malloc.h linux-2.6.
+#endif /* __KERNEL__ */
+
+#endif /*_IP_SET_MALLOC_H*/
-diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_nethash.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_nethash.h
---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_nethash.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_nethash.h 2005-09-20 13:11:38.782384000 +0200
+diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set_nethash.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_nethash.h
+--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set_nethash.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_nethash.h 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,55 @@
+#ifndef __IP_SET_NETHASH_H
+#define __IP_SET_NETHASH_H
@@ -927,9 +927,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_nethash.h linux-2.6
+}
+
+#endif /* __IP_SET_NETHASH_H */
-diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_portmap.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_portmap.h
---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_portmap.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_portmap.h 2005-09-20 13:11:38.782384000 +0200
+diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set_portmap.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_portmap.h
+--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set_portmap.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_portmap.h 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,25 @@
+#ifndef __IP_SET_PORTMAP_H
+#define __IP_SET_PORTMAP_H
@@ -956,9 +956,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_portmap.h linux-2.6
+};
+
+#endif /* __IP_SET_PORTMAP_H */
-diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_prime.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_prime.h
---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_prime.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_prime.h 2005-09-20 13:11:38.782384000 +0200
+diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set_prime.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_prime.h
+--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set_prime.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_prime.h 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,34 @@
+#ifndef __IP_SET_PRIME_H
+#define __IP_SET_PRIME_H
@@ -994,9 +994,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_prime.h linux-2.6.1
+}
+
+#endif /* __IP_SET_PRIME_H */
-diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ipt_set.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ipt_set.h
---- linux-2.6.12.5/include/linux/netfilter_ipv4/ipt_set.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ipt_set.h 2005-09-20 13:11:38.786384250 +0200
+diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ipt_set.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ipt_set.h
+--- linux-2.6.16/include/linux/netfilter_ipv4/ipt_set.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ipt_set.h 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,21 @@
+#ifndef _IPT_SET_H
+#define _IPT_SET_H
@@ -1019,9 +1019,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ipt_set.h linux-2.6.12.5-i
+};
+
+#endif /*_IPT_SET_H*/
-diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set.c linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set.c
---- linux-2.6.12.5/net/ipv4/netfilter/ip_set.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set.c 2005-09-20 13:11:38.786384250 +0200
+diff -Nur linux-2.6.16/net/ipv4/netfilter/ip_set.c linux-2.6.16-owrt/net/ipv4/netfilter/ip_set.c
+--- linux-2.6.16/net/ipv4/netfilter/ip_set.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/ip_set.c 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,1989 @@
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
+ * Patrick Schaaf <bof@bof.de>
@@ -3012,9 +3012,9 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set.c linux-2.6.12.5-ipset/net/ip
+
+module_init(init);
+module_exit(fini);
-diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_iphash.c linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_iphash.c
---- linux-2.6.12.5/net/ipv4/netfilter/ip_set_iphash.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_iphash.c 2005-09-20 13:11:38.786384250 +0200
+diff -Nur linux-2.6.16/net/ipv4/netfilter/ip_set_iphash.c linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_iphash.c
+--- linux-2.6.16/net/ipv4/netfilter/ip_set_iphash.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_iphash.c 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,379 @@
+/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
+ *
@@ -3395,9 +3395,9 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_iphash.c linux-2.6.12.5-ipset
+
+module_init(init);
+module_exit(fini);
-diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_ipmap.c linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_ipmap.c
---- linux-2.6.12.5/net/ipv4/netfilter/ip_set_ipmap.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_ipmap.c 2005-09-20 13:11:38.802385250 +0200
+diff -Nur linux-2.6.16/net/ipv4/netfilter/ip_set_ipmap.c linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_ipmap.c
+--- linux-2.6.16/net/ipv4/netfilter/ip_set_ipmap.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_ipmap.c 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,313 @@
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
+ * Patrick Schaaf <bof@bof.de>
@@ -3712,9 +3712,9 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_ipmap.c linux-2.6.12.5-ipset/
+
+module_init(init);
+module_exit(fini);
-diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_iptree.c linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_iptree.c
---- linux-2.6.12.5/net/ipv4/netfilter/ip_set_iptree.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_iptree.c 2005-09-20 13:11:38.802385250 +0200
+diff -Nur linux-2.6.16/net/ipv4/netfilter/ip_set_iptree.c linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_iptree.c
+--- linux-2.6.16/net/ipv4/netfilter/ip_set_iptree.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_iptree.c 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,510 @@
+/* Copyright (C) 2005 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
+ *
@@ -4226,9 +4226,9 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_iptree.c linux-2.6.12.5-ipset
+
+module_init(init);
+module_exit(fini);
-diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_macipmap.c linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_macipmap.c
---- linux-2.6.12.5/net/ipv4/netfilter/ip_set_macipmap.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_macipmap.c 2005-09-20 13:11:38.802385250 +0200
+diff -Nur linux-2.6.16/net/ipv4/netfilter/ip_set_macipmap.c linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_macipmap.c
+--- linux-2.6.16/net/ipv4/netfilter/ip_set_macipmap.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_macipmap.c 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,338 @@
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
+ * Patrick Schaaf <bof@bof.de>
@@ -4568,9 +4568,9 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_macipmap.c linux-2.6.12.5-ips
+
+module_init(init);
+module_exit(fini);
-diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_nethash.c linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_nethash.c
---- linux-2.6.12.5/net/ipv4/netfilter/ip_set_nethash.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_nethash.c 2005-09-20 13:11:38.802385250 +0200
+diff -Nur linux-2.6.16/net/ipv4/netfilter/ip_set_nethash.c linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_nethash.c
+--- linux-2.6.16/net/ipv4/netfilter/ip_set_nethash.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_nethash.c 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,449 @@
+/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
+ *
@@ -5021,9 +5021,9 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_nethash.c linux-2.6.12.5-ipse
+
+module_init(init);
+module_exit(fini);
-diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_portmap.c linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_portmap.c
---- linux-2.6.12.5/net/ipv4/netfilter/ip_set_portmap.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_portmap.c 2005-09-20 13:11:38.802385250 +0200
+diff -Nur linux-2.6.16/net/ipv4/netfilter/ip_set_portmap.c linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_portmap.c
+--- linux-2.6.16/net/ipv4/netfilter/ip_set_portmap.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_portmap.c 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,325 @@
+/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
+ *
@@ -5350,9 +5350,9 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_portmap.c linux-2.6.12.5-ipse
+
+module_init(init);
+module_exit(fini);
-diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ipt_set.c linux-2.6.12.5-ipset/net/ipv4/netfilter/ipt_set.c
---- linux-2.6.12.5/net/ipv4/netfilter/ipt_set.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/ipt_set.c 2005-09-20 13:11:38.802385250 +0200
+diff -Nur linux-2.6.16/net/ipv4/netfilter/ipt_set.c linux-2.6.16-owrt/net/ipv4/netfilter/ipt_set.c
+--- linux-2.6.16/net/ipv4/netfilter/ipt_set.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/ipt_set.c 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,112 @@
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
+ * Patrick Schaaf <bof@bof.de>
@@ -5466,9 +5466,9 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ipt_set.c linux-2.6.12.5-ipset/net/i
+
+module_init(init);
+module_exit(fini);
-diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ipt_SET.c linux-2.6.12.5-ipset/net/ipv4/netfilter/ipt_SET.c
---- linux-2.6.12.5/net/ipv4/netfilter/ipt_SET.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/ipt_SET.c 2005-09-20 13:11:38.802385250 +0200
+diff -Nur linux-2.6.16/net/ipv4/netfilter/ipt_SET.c linux-2.6.16-owrt/net/ipv4/netfilter/ipt_SET.c
+--- linux-2.6.16/net/ipv4/netfilter/ipt_SET.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/ipt_SET.c 2006-03-20 12:53:59.000000000 +0100
@@ -0,0 +1,128 @@
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
+ * Patrick Schaaf <bof@bof.de>
@@ -5598,10 +5598,10 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ipt_SET.c linux-2.6.12.5-ipset/net/i
+
+module_init(init);
+module_exit(fini);
-diff -Nur linux-2.6.12.5/net/ipv4/netfilter/Kconfig linux-2.6.12.5-ipset/net/ipv4/netfilter/Kconfig
---- linux-2.6.12.5/net/ipv4/netfilter/Kconfig 2005-08-15 02:20:18.000000000 +0200
-+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/Kconfig 2005-09-20 13:11:38.802385250 +0200
-@@ -692,5 +692,106 @@
+diff -Nur linux-2.6.16/net/ipv4/netfilter/Kconfig linux-2.6.16-owrt/net/ipv4/netfilter/Kconfig
+--- linux-2.6.16/net/ipv4/netfilter/Kconfig 2006-03-20 12:52:42.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/Kconfig 2006-03-20 12:53:59.000000000 +0100
+@@ -623,5 +623,106 @@
Allows altering the ARP packet payload: source and destination
hardware and network addresses.
@@ -5708,21 +5708,21 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/Kconfig linux-2.6.12.5-ipset/net/ipv
+
endmenu
-diff -Nur linux-2.6.12.5/net/ipv4/netfilter/Makefile linux-2.6.12.5-ipset/net/ipv4/netfilter/Makefile
---- linux-2.6.12.5/net/ipv4/netfilter/Makefile 2005-08-15 02:20:18.000000000 +0200
-+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/Makefile 2005-09-20 13:11:38.818386250 +0200
-@@ -39,6 +39,7 @@
+diff -Nur linux-2.6.16/net/ipv4/netfilter/Makefile linux-2.6.16-owrt/net/ipv4/netfilter/Makefile
+--- linux-2.6.16/net/ipv4/netfilter/Makefile 2006-03-20 12:52:42.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/Makefile 2006-03-20 12:56:30.000000000 +0100
+@@ -47,6 +47,7 @@
+
+ # matches
obj-$(CONFIG_IP_NF_MATCH_HASHLIMIT) += ipt_hashlimit.o
- obj-$(CONFIG_IP_NF_MATCH_SCTP) += ipt_sctp.o
- obj-$(CONFIG_IP_NF_MATCH_MARK) += ipt_mark.o
+obj-$(CONFIG_IP_NF_MATCH_SET) += ipt_set.o
- obj-$(CONFIG_IP_NF_MATCH_MAC) += ipt_mac.o
obj-$(CONFIG_IP_NF_MATCH_IPRANGE) += ipt_iprange.o
- obj-$(CONFIG_IP_NF_MATCH_PKTTYPE) += ipt_pkttype.o
-@@ -77,6 +78,16 @@
+ obj-$(CONFIG_IP_NF_MATCH_MULTIPORT) += ipt_multiport.o
+ obj-$(CONFIG_IP_NF_MATCH_OWNER) += ipt_owner.o
+@@ -74,6 +75,17 @@
+ obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o
obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o
obj-$(CONFIG_IP_NF_TARGET_TCPMSS) += ipt_TCPMSS.o
- obj-$(CONFIG_IP_NF_TARGET_NOTRACK) += ipt_NOTRACK.o
+obj-$(CONFIG_IP_NF_TARGET_SET) += ipt_SET.o
+
+# sets
@@ -5733,6 +5733,7 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/Makefile linux-2.6.12.5-ipset/net/ip
+obj-$(CONFIG_IP_NF_SET_IPHASH) += ip_set_iphash.o
+obj-$(CONFIG_IP_NF_SET_NETHASH) += ip_set_nethash.o
+obj-$(CONFIG_IP_NF_SET_IPTREE) += ip_set_iptree.o
++
obj-$(CONFIG_IP_NF_TARGET_CLUSTERIP) += ipt_CLUSTERIP.o
+ obj-$(CONFIG_IP_NF_TARGET_TTL) += ipt_TTL.o
- # generic ARP tables
diff --git a/openwrt/target/linux/generic-2.6/patches/106-netfilter_imq.patch b/openwrt/target/linux/generic-2.6/patches/106-netfilter_imq.patch
index 71d6ac0fe8..8114db621b 100644
--- a/openwrt/target/linux/generic-2.6/patches/106-netfilter_imq.patch
+++ b/openwrt/target/linux/generic-2.6/patches/106-netfilter_imq.patch
@@ -1,150 +1,6 @@
-diff -Nrub linux-2.6.14/drivers/net/Kconfig linux-2.6.14-imq/drivers/net/Kconfig
---- linux-2.6.14/drivers/net/Kconfig 2005-10-28 00:02:08.000000000 +0000
-+++ linux-2.6.14-imq/drivers/net/Kconfig 2005-12-16 16:28:05.000000000 +0000
-@@ -82,6 +82,129 @@
- To compile this driver as a module, choose M here: the module
- will be called eql. If unsure, say N.
-
-+config IMQ
-+ tristate "IMQ (intermediate queueing device) support"
-+ depends on NETDEVICES && NETFILTER
-+ ---help---
-+ The IMQ device(s) is used as placeholder for QoS queueing disciplines.
-+ Every packet entering/leaving the IP stack can be directed through
-+ the IMQ device where it's enqueued/dequeued to the attached qdisc.
-+ This allows you to treat network devices as classes and distribute
-+ bandwidth among them. Iptables is used to specify through which IMQ
-+ device, if any, packets travel.
-+
-+ More information at: http://www.linuximq.net/
-+
-+ To compile this driver as a module, choose M here: the module
-+ will be called imq. If unsure, say N.
-+
-+choice
-+ prompt "IMQ behavior (PRE/POSTROUTING)"
-+ depends on IMQ
-+ default IMQ_BEHAVIOR_BA
-+ help
-+
-+ This settings defines how IMQ behaves in respect to its
-+ hooking in PREROUTING and POSTROUTING.
-+
-+ IMQ can work in any of the following ways:
-+
-+ PREROUTING | POSTROUTING
-+ -----------------|-------------------
-+ #1 After NAT | After NAT
-+ #2 After NAT | Before NAT
-+ #3 Before NAT | After NAT
-+ #4 Before NAT | Before NAT
-+
-+ The default behavior is to hook before NAT on PREROUTING
-+ and after NAT on POSTROUTING (#3).
-+
-+ This settings are specially usefull when trying to use IMQ
-+ to shape NATed clients.
-+
-+ More information can be found at: www.linuximq.net
-+
-+ If not sure leave the default settings alone.
-+
-+config IMQ_BEHAVIOR_AA
-+ bool "IMQ AA"
-+ help
-+ This settings defines how IMQ behaves in respect to its
-+ hooking in PREROUTING and POSTROUTING.
-+
-+ Choosing this option will make IMQ hook like this:
-+
-+ PREROUTING: After NAT
-+ POSTROUTING: After NAT
-+
-+ More information can be found at: www.linuximq.net
-+
-+ If not sure leave the default settings alone.
-+
-+config IMQ_BEHAVIOR_AB
-+ bool "IMQ AB"
-+ help
-+ This settings defines how IMQ behaves in respect to its
-+ hooking in PREROUTING and POSTROUTING.
-+
-+ Choosing this option will make IMQ hook like this:
-+
-+ PREROUTING: After NAT
-+ POSTROUTING: Before NAT
-+
-+ More information can be found at: www.linuximq.net
-+
-+ If not sure leave the default settings alone.
-+
-+config IMQ_BEHAVIOR_BA
-+ bool "IMQ BA"
-+ help
-+ This settings defines how IMQ behaves in respect to its
-+ hooking in PREROUTING and POSTROUTING.
-+
-+ Choosing this option will make IMQ hook like this:
-+
-+ PREROUTING: Before NAT
-+ POSTROUTING: After NAT
-+
-+ More information can be found at: www.linuximq.net
-+
-+ If not sure leave the default settings alone.
-+
-+config IMQ_BEHAVIOR_BB
-+ bool "IMQ BB"
-+ help
-+ This settings defines how IMQ behaves in respect to its
-+ hooking in PREROUTING and POSTROUTING.
-+
-+ Choosing this option will make IMQ hook like this:
-+
-+ PREROUTING: Before NAT
-+ POSTROUTING: Before NAT
-+
-+ More information can be found at: www.linuximq.net
-+
-+ If not sure leave the default settings alone.
-+
-+endchoice
-+
-+config IMQ_NUM_DEVS
-+
-+ int "Number of IMQ devices"
-+ range 2 8
-+ depends on IMQ
-+ default "2"
-+ help
-+
-+ This settings defines how many IMQ devices will be
-+ created.
-+
-+ The default value is 2.
-+
-+ More information can be found at: www.linuximq.net
-+
-+ If not sure leave the default settings alone.
-+
- config TUN
- tristate "Universal TUN/TAP device driver support"
- select CRC32
-diff -Nrub linux-2.6.14/drivers/net/Makefile linux-2.6.14-imq/drivers/net/Makefile
---- linux-2.6.14/drivers/net/Makefile 2005-10-28 00:02:08.000000000 +0000
-+++ linux-2.6.14-imq/drivers/net/Makefile 2005-12-16 16:28:05.000000000 +0000
-@@ -119,6 +119,7 @@
- endif
-
- obj-$(CONFIG_DUMMY) += dummy.o
-+obj-$(CONFIG_IMQ) += imq.o
- obj-$(CONFIG_DE600) += de600.o
- obj-$(CONFIG_DE620) += de620.o
- obj-$(CONFIG_LANCE) += lance.o
-diff -Nrub linux-2.6.14/drivers/net/imq.c linux-2.6.14-imq/drivers/net/imq.c
---- linux-2.6.14/drivers/net/imq.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.14-imq/drivers/net/imq.c 2005-12-16 16:49:02.000000000 +0000
+diff -Nur linux-2.6.16/drivers/net/imq.c linux-2.6.16-owrt/drivers/net/imq.c
+--- linux-2.6.16/drivers/net/imq.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/drivers/net/imq.c 2006-03-20 12:59:23.000000000 +0100
@@ -0,0 +1,403 @@
+/*
+ * Pseudo-driver for the intermediate queue device.
@@ -549,9 +405,153 @@ diff -Nrub linux-2.6.14/drivers/net/imq.c linux-2.6.14-imq/drivers/net/imq.c
+MODULE_AUTHOR("http://www.linuximq.net");
+MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information.");
+MODULE_LICENSE("GPL");
-diff -Nrub linux-2.6.14/include/linux/imq.h linux-2.6.14-imq/include/linux/imq.h
---- linux-2.6.14/include/linux/imq.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.14-imq/include/linux/imq.h 2005-12-16 16:28:05.000000000 +0000
+diff -Nur linux-2.6.16/drivers/net/Kconfig linux-2.6.16-owrt/drivers/net/Kconfig
+--- linux-2.6.16/drivers/net/Kconfig 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/drivers/net/Kconfig 2006-03-20 12:59:23.000000000 +0100
+@@ -93,6 +93,129 @@
+ To compile this driver as a module, choose M here: the module
+ will be called eql. If unsure, say N.
+
++config IMQ
++ tristate "IMQ (intermediate queueing device) support"
++ depends on NETDEVICES && NETFILTER
++ ---help---
++ The IMQ device(s) is used as placeholder for QoS queueing disciplines.
++ Every packet entering/leaving the IP stack can be directed through
++ the IMQ device where it's enqueued/dequeued to the attached qdisc.
++ This allows you to treat network devices as classes and distribute
++ bandwidth among them. Iptables is used to specify through which IMQ
++ device, if any, packets travel.
++
++ More information at: http://www.linuximq.net/
++
++ To compile this driver as a module, choose M here: the module
++ will be called imq. If unsure, say N.
++
++choice
++ prompt "IMQ behavior (PRE/POSTROUTING)"
++ depends on IMQ
++ default IMQ_BEHAVIOR_BA
++ help
++
++ This settings defines how IMQ behaves in respect to its
++ hooking in PREROUTING and POSTROUTING.
++
++ IMQ can work in any of the following ways:
++
++ PREROUTING | POSTROUTING
++ -----------------|-------------------
++ #1 After NAT | After NAT
++ #2 After NAT | Before NAT
++ #3 Before NAT | After NAT
++ #4 Before NAT | Before NAT
++
++ The default behavior is to hook before NAT on PREROUTING
++ and after NAT on POSTROUTING (#3).
++
++ This settings are specially usefull when trying to use IMQ
++ to shape NATed clients.
++
++ More information can be found at: www.linuximq.net
++
++ If not sure leave the default settings alone.
++
++config IMQ_BEHAVIOR_AA
++ bool "IMQ AA"
++ help
++ This settings defines how IMQ behaves in respect to its
++ hooking in PREROUTING and POSTROUTING.
++
++ Choosing this option will make IMQ hook like this:
++
++ PREROUTING: After NAT
++ POSTROUTING: After NAT
++
++ More information can be found at: www.linuximq.net
++
++ If not sure leave the default settings alone.
++
++config IMQ_BEHAVIOR_AB
++ bool "IMQ AB"
++ help
++ This settings defines how IMQ behaves in respect to its
++ hooking in PREROUTING and POSTROUTING.
++
++ Choosing this option will make IMQ hook like this:
++
++ PREROUTING: After NAT
++ POSTROUTING: Before NAT
++
++ More information can be found at: www.linuximq.net
++
++ If not sure leave the default settings alone.
++
++config IMQ_BEHAVIOR_BA
++ bool "IMQ BA"
++ help
++ This settings defines how IMQ behaves in respect to its
++ hooking in PREROUTING and POSTROUTING.
++
++ Choosing this option will make IMQ hook like this:
++
++ PREROUTING: Before NAT
++ POSTROUTING: After NAT
++
++ More information can be found at: www.linuximq.net
++
++ If not sure leave the default settings alone.
++
++config IMQ_BEHAVIOR_BB
++ bool "IMQ BB"
++ help
++ This settings defines how IMQ behaves in respect to its
++ hooking in PREROUTING and POSTROUTING.
++
++ Choosing this option will make IMQ hook like this:
++
++ PREROUTING: Before NAT
++ POSTROUTING: Before NAT
++
++ More information can be found at: www.linuximq.net
++
++ If not sure leave the default settings alone.
++
++endchoice
++
++config IMQ_NUM_DEVS
++
++ int "Number of IMQ devices"
++ range 2 8
++ depends on IMQ
++ default "2"
++ help
++
++ This settings defines how many IMQ devices will be
++ created.
++
++ The default value is 2.
++
++ More information can be found at: www.linuximq.net
++
++ If not sure leave the default settings alone.
++
+ config TUN
+ tristate "Universal TUN/TAP device driver support"
+ select CRC32
+diff -Nur linux-2.6.16/drivers/net/Makefile linux-2.6.16-owrt/drivers/net/Makefile
+--- linux-2.6.16/drivers/net/Makefile 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/drivers/net/Makefile 2006-03-20 13:00:13.000000000 +0100
+@@ -125,6 +125,7 @@
+ endif
+
+ obj-$(CONFIG_DUMMY) += dummy.o
++obj-$(CONFIG_IMQ) += imq.o
+ obj-$(CONFIG_IFB) += ifb.o
+ obj-$(CONFIG_DE600) += de600.o
+ obj-$(CONFIG_DE620) += de620.o
+diff -Nur linux-2.6.16/include/linux/imq.h linux-2.6.16-owrt/include/linux/imq.h
+--- linux-2.6.16/include/linux/imq.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/imq.h 2006-03-20 12:59:23.000000000 +0100
@@ -0,0 +1,9 @@
+#ifndef _IMQ_H
+#define _IMQ_H
@@ -562,9 +562,9 @@ diff -Nrub linux-2.6.14/include/linux/imq.h linux-2.6.14-imq/include/linux/imq.h
+#define IMQ_F_ENQUEUE 0x80
+
+#endif /* _IMQ_H */
-diff -Nrub linux-2.6.14/include/linux/netfilter_ipv4/ipt_IMQ.h linux-2.6.14-imq/include/linux/netfilter_ipv4/ipt_IMQ.h
---- linux-2.6.14/include/linux/netfilter_ipv4/ipt_IMQ.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.14-imq/include/linux/netfilter_ipv4/ipt_IMQ.h 2005-12-16 16:28:05.000000000 +0000
+diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ipt_IMQ.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ipt_IMQ.h
+--- linux-2.6.16/include/linux/netfilter_ipv4/ipt_IMQ.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ipt_IMQ.h 2006-03-20 12:59:23.000000000 +0100
@@ -0,0 +1,8 @@
+#ifndef _IPT_IMQ_H
+#define _IPT_IMQ_H
@@ -574,9 +574,9 @@ diff -Nrub linux-2.6.14/include/linux/netfilter_ipv4/ipt_IMQ.h linux-2.6.14-imq/
+};
+
+#endif /* _IPT_IMQ_H */
-diff -Nrub linux-2.6.14/include/linux/netfilter_ipv6/ip6t_IMQ.h linux-2.6.14-imq/include/linux/netfilter_ipv6/ip6t_IMQ.h
---- linux-2.6.14/include/linux/netfilter_ipv6/ip6t_IMQ.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.14-imq/include/linux/netfilter_ipv6/ip6t_IMQ.h 2005-12-16 16:28:05.000000000 +0000
+diff -Nur linux-2.6.16/include/linux/netfilter_ipv6/ip6t_IMQ.h linux-2.6.16-owrt/include/linux/netfilter_ipv6/ip6t_IMQ.h
+--- linux-2.6.16/include/linux/netfilter_ipv6/ip6t_IMQ.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/netfilter_ipv6/ip6t_IMQ.h 2006-03-20 12:59:23.000000000 +0100
@@ -0,0 +1,8 @@
+#ifndef _IP6T_IMQ_H
+#define _IP6T_IMQ_H
@@ -586,12 +586,12 @@ diff -Nrub linux-2.6.14/include/linux/netfilter_ipv6/ip6t_IMQ.h linux-2.6.14-imq
+};
+
+#endif /* _IP6T_IMQ_H */
-diff -Nrub linux-2.6.14/include/linux/skbuff.h linux-2.6.14-imq/include/linux/skbuff.h
---- linux-2.6.14/include/linux/skbuff.h 2005-10-28 00:02:08.000000000 +0000
-+++ linux-2.6.14-imq/include/linux/skbuff.h 2005-12-16 16:28:05.000000000 +0000
-@@ -271,6 +271,10 @@
- #if defined(CONFIG_IP_VS) || defined(CONFIG_IP_VS_MODULE)
- __u8 ipvs_property:1;
+diff -Nur linux-2.6.16/include/linux/skbuff.h linux-2.6.16-owrt/include/linux/skbuff.h
+--- linux-2.6.16/include/linux/skbuff.h 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/include/linux/skbuff.h 2006-03-20 12:59:23.000000000 +0100
+@@ -275,6 +275,10 @@
+ #if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
+ struct sk_buff *nfct_reasm;
#endif
+#if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE)
+ unsigned char imq_flags;
@@ -600,12 +600,12 @@ diff -Nrub linux-2.6.14/include/linux/skbuff.h linux-2.6.14-imq/include/linux/sk
#ifdef CONFIG_BRIDGE_NETFILTER
struct nf_bridge_info *nf_bridge;
#endif
-diff -Nrub linux-2.6.14/net/core/skbuff.c linux-2.6.14-imq/net/core/skbuff.c
---- linux-2.6.14/net/core/skbuff.c 2005-10-28 00:02:08.000000000 +0000
-+++ linux-2.6.14-imq/net/core/skbuff.c 2005-12-16 16:28:05.000000000 +0000
-@@ -413,6 +413,10 @@
- #if defined(CONFIG_IP_VS) || defined(CONFIG_IP_VS_MODULE)
- C(ipvs_property);
+diff -Nur linux-2.6.16/net/core/skbuff.c linux-2.6.16-owrt/net/core/skbuff.c
+--- linux-2.6.16/net/core/skbuff.c 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/net/core/skbuff.c 2006-03-20 12:59:23.000000000 +0100
+@@ -425,6 +425,10 @@
+ C(nfct_reasm);
+ nf_conntrack_get_reasm(skb->nfct_reasm);
#endif
+#if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE)
+ C(imq_flags);
@@ -614,7 +614,7 @@ diff -Nrub linux-2.6.14/net/core/skbuff.c linux-2.6.14-imq/net/core/skbuff.c
#ifdef CONFIG_BRIDGE_NETFILTER
C(nf_bridge);
nf_bridge_get(skb->nf_bridge);
-@@ -473,6 +477,10 @@
+@@ -489,6 +493,10 @@
#if defined(CONFIG_IP_VS) || defined(CONFIG_IP_VS_MODULE)
new->ipvs_property = old->ipvs_property;
#endif
@@ -625,41 +625,9 @@ diff -Nrub linux-2.6.14/net/core/skbuff.c linux-2.6.14-imq/net/core/skbuff.c
#ifdef CONFIG_BRIDGE_NETFILTER
new->nf_bridge = old->nf_bridge;
nf_bridge_get(old->nf_bridge);
-diff -Nrub linux-2.6.14/net/ipv4/netfilter/Kconfig linux-2.6.14-imq/net/ipv4/netfilter/Kconfig
---- linux-2.6.14/net/ipv4/netfilter/Kconfig 2005-10-28 00:02:08.000000000 +0000
-+++ linux-2.6.14-imq/net/ipv4/netfilter/Kconfig 2005-12-16 16:28:05.000000000 +0000
-@@ -489,6 +489,17 @@
-
- To compile it as a module, choose M here. If unsure, say N.
-
-+config IP_NF_TARGET_IMQ
-+ tristate "IMQ target support"
-+ depends on IP_NF_MANGLE
-+ help
-+ This option adds a `IMQ' target which is used to specify if and
-+ to which IMQ device packets should get enqueued/dequeued.
-+
-+ For more information visit: http://www.linuximq.net/
-+
-+ To compile it as a module, choose M here. If unsure, say N.
-+
- config IP_NF_TARGET_LOG
- tristate "LOG target support"
- depends on IP_NF_IPTABLES
-diff -Nrub linux-2.6.14/net/ipv4/netfilter/Makefile linux-2.6.14-imq/net/ipv4/netfilter/Makefile
---- linux-2.6.14/net/ipv4/netfilter/Makefile 2005-10-28 00:02:08.000000000 +0000
-+++ linux-2.6.14-imq/net/ipv4/netfilter/Makefile 2005-12-16 16:28:05.000000000 +0000
-@@ -80,6 +80,7 @@
- obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o
- obj-$(CONFIG_IP_NF_TARGET_DSCP) += ipt_DSCP.o
- obj-$(CONFIG_IP_NF_TARGET_MARK) += ipt_MARK.o
-+obj-$(CONFIG_IP_NF_TARGET_IMQ) += ipt_IMQ.o
- obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o
- obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o
- obj-$(CONFIG_IP_NF_TARGET_NETMAP) += ipt_NETMAP.o
-diff -Nrub linux-2.6.14/net/ipv4/netfilter/ipt_IMQ.c linux-2.6.14-imq/net/ipv4/netfilter/ipt_IMQ.c
---- linux-2.6.14/net/ipv4/netfilter/ipt_IMQ.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.14-imq/net/ipv4/netfilter/ipt_IMQ.c 2005-12-16 16:28:05.000000000 +0000
+diff -Nur linux-2.6.16/net/ipv4/netfilter/ipt_IMQ.c linux-2.6.16-owrt/net/ipv4/netfilter/ipt_IMQ.c
+--- linux-2.6.16/net/ipv4/netfilter/ipt_IMQ.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/ipt_IMQ.c 2006-03-20 12:59:23.000000000 +0100
@@ -0,0 +1,80 @@
+/*
+ * This target marks packets to be enqueued to an imq device
@@ -741,39 +709,41 @@ diff -Nrub linux-2.6.14/net/ipv4/netfilter/ipt_IMQ.c linux-2.6.14-imq/net/ipv4/n
+MODULE_AUTHOR("http://www.linuximq.net");
+MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information.");
+MODULE_LICENSE("GPL");
-diff -Nrub linux-2.6.14/net/ipv6/netfilter/Kconfig linux-2.6.14-imq/net/ipv6/netfilter/Kconfig
---- linux-2.6.14/net/ipv6/netfilter/Kconfig 2005-10-28 00:02:08.000000000 +0000
-+++ linux-2.6.14-imq/net/ipv6/netfilter/Kconfig 2005-12-16 16:28:05.000000000 +0000
-@@ -190,6 +190,15 @@
+diff -Nur linux-2.6.16/net/ipv4/netfilter/Kconfig linux-2.6.16-owrt/net/ipv4/netfilter/Kconfig
+--- linux-2.6.16/net/ipv4/netfilter/Kconfig 2006-03-20 12:58:53.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/Kconfig 2006-03-20 12:59:23.000000000 +0100
+@@ -351,6 +351,17 @@
To compile it as a module, choose M here. If unsure, say N.
-+config IP6_NF_TARGET_IMQ
-+ tristate "IMQ target support"
-+ depends on IP6_NF_MANGLE
-+ help
-+ This option adds a `IMQ' target which is used to specify if and
-+ to which imq device packets should get enqueued/dequeued.
++config IP_NF_TARGET_IMQ
++ tristate "IMQ target support"
++ depends on IP_NF_MANGLE
++ help
++ This option adds a `IMQ' target which is used to specify if and
++ to which IMQ device packets should get enqueued/dequeued.
+
-+ To compile it as a module, choose M here. If unsure, say N.
++ For more information visit: http://www.linuximq.net/
+
- config IP6_NF_TARGET_LOG
++ To compile it as a module, choose M here. If unsure, say N.
++
+ config IP_NF_TARGET_LOG
tristate "LOG target support"
- depends on IP6_NF_FILTER
-diff -Nrub linux-2.6.14/net/ipv6/netfilter/Makefile linux-2.6.14-imq/net/ipv6/netfilter/Makefile
---- linux-2.6.14/net/ipv6/netfilter/Makefile 2005-10-28 00:02:08.000000000 +0000
-+++ linux-2.6.14-imq/net/ipv6/netfilter/Makefile 2005-12-16 16:28:05.000000000 +0000
-@@ -6,6 +6,7 @@
- obj-$(CONFIG_IP6_NF_IPTABLES) += ip6_tables.o
- obj-$(CONFIG_IP6_NF_MATCH_LIMIT) += ip6t_limit.o
- obj-$(CONFIG_IP6_NF_MATCH_MARK) += ip6t_mark.o
-+obj-$(CONFIG_IP6_NF_TARGET_IMQ) += ip6t_IMQ.o
- obj-$(CONFIG_IP6_NF_MATCH_LENGTH) += ip6t_length.o
- obj-$(CONFIG_IP6_NF_MATCH_MAC) += ip6t_mac.o
- obj-$(CONFIG_IP6_NF_MATCH_RT) += ip6t_rt.o
-diff -Nrub linux-2.6.14/net/ipv6/netfilter/ip6t_IMQ.c linux-2.6.14-imq/net/ipv6/netfilter/ip6t_IMQ.c
---- linux-2.6.14/net/ipv6/netfilter/ip6t_IMQ.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.14-imq/net/ipv6/netfilter/ip6t_IMQ.c 2005-12-16 16:28:05.000000000 +0000
+ depends on IP_NF_IPTABLES
+diff -Nur linux-2.6.16/net/ipv4/netfilter/Makefile linux-2.6.16-owrt/net/ipv4/netfilter/Makefile
+--- linux-2.6.16/net/ipv4/netfilter/Makefile 2006-03-20 12:58:53.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv4/netfilter/Makefile 2006-03-20 13:01:12.000000000 +0100
+@@ -67,6 +67,7 @@
+ obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o
+ obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o
+ obj-$(CONFIG_IP_NF_TARGET_DSCP) += ipt_DSCP.o
++obj-$(CONFIG_IP_NF_TARGET_IMQ) += ipt_IMQ.o
+ obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o
+ obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o
+ obj-$(CONFIG_IP_NF_TARGET_NETMAP) += ipt_NETMAP.o
+diff -Nur linux-2.6.16/net/ipv6/netfilter/ip6t_IMQ.c linux-2.6.16-owrt/net/ipv6/netfilter/ip6t_IMQ.c
+--- linux-2.6.16/net/ipv6/netfilter/ip6t_IMQ.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv6/netfilter/ip6t_IMQ.c 2006-03-20 12:59:23.000000000 +0100
@@ -0,0 +1,80 @@
+/*
+ * This target marks packets to be enqueued to an imq device
@@ -855,9 +825,39 @@ diff -Nrub linux-2.6.14/net/ipv6/netfilter/ip6t_IMQ.c linux-2.6.14-imq/net/ipv6/
+MODULE_AUTHOR("http://www.linuximq.net");
+MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information.");
+MODULE_LICENSE("GPL");
-diff -Nrub linux-2.6.14/net/sched/sch_generic.c linux-2.6.14-imq/net/sched/sch_generic.c
---- linux-2.6.14/net/sched/sch_generic.c 2005-10-28 00:02:08.000000000 +0000
-+++ linux-2.6.14-imq/net/sched/sch_generic.c 2005-12-16 16:28:05.000000000 +0000
+diff -Nur linux-2.6.16/net/ipv6/netfilter/Kconfig linux-2.6.16-owrt/net/ipv6/netfilter/Kconfig
+--- linux-2.6.16/net/ipv6/netfilter/Kconfig 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv6/netfilter/Kconfig 2006-03-20 12:59:23.000000000 +0100
+@@ -154,6 +154,15 @@
+
+ To compile it as a module, choose M here. If unsure, say N.
+
++config IP6_NF_TARGET_IMQ
++ tristate "IMQ target support"
++ depends on IP6_NF_MANGLE
++ help
++ This option adds a `IMQ' target which is used to specify if and
++ to which imq device packets should get enqueued/dequeued.
++
++ To compile it as a module, choose M here. If unsure, say N.
++
+ config IP6_NF_TARGET_LOG
+ tristate "LOG target support"
+ depends on IP6_NF_FILTER
+diff -Nur linux-2.6.16/net/ipv6/netfilter/Makefile linux-2.6.16-owrt/net/ipv6/netfilter/Makefile
+--- linux-2.6.16/net/ipv6/netfilter/Makefile 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/net/ipv6/netfilter/Makefile 2006-03-20 13:02:14.000000000 +0100
+@@ -4,6 +4,7 @@
+
+ # Link order matters here.
+ obj-$(CONFIG_IP6_NF_IPTABLES) += ip6_tables.o
++obj-$(CONFIG_IP6_NF_TARGET_IMQ) += ip6t_IMQ.o
+ obj-$(CONFIG_IP6_NF_MATCH_RT) += ip6t_rt.o
+ obj-$(CONFIG_IP6_NF_MATCH_OPTS) += ip6t_hbh.o ip6t_dst.o
+ obj-$(CONFIG_IP6_NF_MATCH_IPV6HEADER) += ip6t_ipv6header.o
+diff -Nur linux-2.6.16/net/sched/sch_generic.c linux-2.6.16-owrt/net/sched/sch_generic.c
+--- linux-2.6.16/net/sched/sch_generic.c 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-owrt/net/sched/sch_generic.c 2006-03-20 12:59:23.000000000 +0100
@@ -29,6 +29,9 @@
#include <linux/netdevice.h>
#include <linux/skbuff.h>
diff --git a/openwrt/target/linux/x86-2.6/Makefile b/openwrt/target/linux/x86-2.6/Makefile
index 887606ea75..72a723a953 100644
--- a/openwrt/target/linux/x86-2.6/Makefile
+++ b/openwrt/target/linux/x86-2.6/Makefile
@@ -1,8 +1,8 @@
include $(TOPDIR)/rules.mk
-LINUX_VERSION:=2.6.15.6
+LINUX_VERSION:=2.6.16
LINUX_RELEASE:=1
-LINUX_KERNEL_MD5SUM:=2ea7c865d6c09a02cbe6ce5fddcd02ca
+LINUX_KERNEL_MD5SUM:=9a91b2719949ff0856b40bc467fd47be
include ../rules.mk
include ./config