Also fix compilation of compat-drivers.
#
# Automatically generated file; DO NOT EDIT.
-# Linux/i386 3.2.35 Kernel Configuration
+# Linux/i386 3.2.45 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
CONFIG_USB_STORAGE_KARMA=m
CONFIG_USB_STORAGE_CYPRESS_ATACB=m
CONFIG_USB_STORAGE_ENE_UB6250=m
-CONFIG_USB_UAS=m
# CONFIG_USB_LIBUSUAL is not set
#
#
# Automatically generated file; DO NOT EDIT.
-# Linux/i386 3.2.35 Kernel Configuration
+# Linux/i386 3.2.45 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_X86_GENERIC=y
-CONFIG_X86_INTERNODE_CACHE_SHIFT=7
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_CMPXCHG=y
CONFIG_CMPXCHG_LOCAL=y
CONFIG_CMPXCHG_DOUBLE=y
CONFIG_X86_PAE=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
-CONFIG_NUMA=y
-# CONFIG_NUMA_EMU is not set
-CONFIG_NODES_SHIFT=3
-CONFIG_HAVE_ARCH_BOOTMEM=y
-CONFIG_HAVE_ARCH_ALLOC_REMAP=y
-CONFIG_ARCH_HAVE_MEMORY_PRESENT=y
-CONFIG_NEED_NODE_MEMMAP_SIZE=y
-CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
-CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
+CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ILLEGAL_POINTER_VALUE=0
CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_DISCONTIGMEM_MANUAL=y
+CONFIG_FLATMEM_MANUAL=y
# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_DISCONTIGMEM=y
+CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_NEED_MULTIPLE_NODES=y
-CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_COMPACTION is not set
-CONFIG_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_COMPAT_VDSO=y
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-CONFIG_USE_PERCPU_NUMA_NODE_ID=y
#
# Power management and ACPI options
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=m
-# CONFIG_ACPI_NUMA is not set
CONFIG_ACPI_CUSTOM_DSDT_FILE=""
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
CONFIG_USB_STORAGE_KARMA=m
CONFIG_USB_STORAGE_CYPRESS_ATACB=m
CONFIG_USB_STORAGE_ENE_UB6250=m
-CONFIG_USB_UAS=m
# CONFIG_USB_LIBUSUAL is not set
#
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xaf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/compat-drivers-3.8-1-u-kref_get_unless_zero.patch
# kfifo has no license info and taints kernel
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/compat-wireless-2.6.39_kfifo_module_info.patch
include Config
-VER = 3.2.38
+VER = 3.2.45
RPI_PATCHES = linux-3.2.27-ada8b44
THISAPP = linux-$(VER)
-DL_FILE = linux-$(VER).tar.bz2
+DL_FILE = linux-$(VER).tar.xz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
CFLAGS =
CXXFLAGS =
-PAK_VER = 28
+PAK_VER = 29
DEPS = ""
VERSUFIX=ipfire$(KCFG)
$(DL_FILE) = $(URL_IPFIRE)/$(DL_FILE)
rpi-patches-$(RPI_PATCHES).patch.xz = $(URL_IPFIRE)/rpi-patches-$(RPI_PATCHES).patch.xz
-$(DL_FILE)_MD5 = 16ea59fd8701f82d7d7c534a6e4bb923
+$(DL_FILE)_MD5 = 817121285087d09c473a0aeb24a044e0
rpi-patches-$(RPI_PATCHES).patch.xz_MD5 = 966687ff27e450e04ff50e0da829dc00
--- /dev/null
+--- compat-drivers-3.8-1-u/include/linux/compat-3.8.h.orig 2013-05-16 20:35:27.046386772 +0200
++++ compat-drivers-3.8-1-u/include/linux/compat-3.8.h 2013-05-16 20:35:39.219767618 +0200
+@@ -24,35 +24,6 @@
+
+ /* This backports:
+ *
+- * commit 4b20db3de8dab005b07c74161cb041db8c5ff3a7
+- * Author: Thomas Hellstrom <thellstrom@vmware.com>
+- * Date: Tue Nov 6 11:31:49 2012 +0000
+- *
+- * kref: Implement kref_get_unless_zero v3
+- */
+-/**
+- * kref_get_unless_zero - Increment refcount for object unless it is zero.
+- * @kref: object.
+- *
+- * Return non-zero if the increment succeeded. Otherwise return 0.
+- *
+- * This function is intended to simplify locking around refcounting for
+- * objects that can be looked up from a lookup structure, and which are
+- * removed from that lookup structure in the object destructor.
+- * Operations on such objects require at least a read lock around
+- * lookup + kref_get, and a write lock around kref_put + remove from lookup
+- * structure. Furthermore, RCU implementations become extremely tricky.
+- * With a lookup followed by a kref_get_unless_zero *with return value check*
+- * locking in the kref_put path can be deferred to the actual removal from
+- * the lookup structure and RCU lookups become trivial.
+- */
+-static inline int __must_check kref_get_unless_zero(struct kref *kref)
+-{
+- return atomic_add_unless(&kref->refcount, 1, 0);
+-}
+-
+-/* This backports:
+- *
+ * commit 83e68189745ad931c2afd45d8ee3303929233e7f
+ * Author: Matt Fleming <matt.fleming@intel.com>
+ * Date: Wed Nov 14 09:42:35 2012 +0000