Merge remote-tracking branch 'ms/kernel-update' into next
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 22 May 2013 20:48:03 +0000 (20:48 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 22 May 2013 20:48:03 +0000 (20:48 +0000)
config/kernel/kernel.config.i586-ipfire
config/kernel/kernel.config.i586-ipfire-pae
lfs/compat-drivers
lfs/linux
src/patches/compat-drivers-3.8-1-u-kref_get_unless_zero.patch [new file with mode: 0644]

index 51f34133aa2a0ef22fd5b0faebf2de8651a4c7e9..e0b2529a88c1f84d169a80302360dc2fb5e8d698 100644 (file)
@@ -1,6 +1,6 @@
 #
 # 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
@@ -3778,7 +3778,6 @@ CONFIG_USB_STORAGE_ONETOUCH=m
 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
 
 #
index 6f39769a289d8d7d9dda0419145c4d1cf0752929..405c0d5aee21d8086bc5ba1a1b34458e2524f7e8 100644 (file)
@@ -1,6 +1,6 @@
 #
 # 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
@@ -316,7 +316,7 @@ CONFIG_M586TSC=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
@@ -379,31 +379,20 @@ CONFIG_HIGHMEM=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
@@ -442,7 +431,6 @@ CONFIG_HOTPLUG_CPU=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
@@ -473,7 +461,6 @@ CONFIG_ACPI_IPMI=m
 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
@@ -3810,7 +3797,6 @@ CONFIG_USB_STORAGE_ONETOUCH=m
 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
 
 #
index b950d454dddd510ddc9ea38ba9e39332b553f4fb..07dda5bc3378263916577ab3175a808fb84d645b 100644 (file)
@@ -78,6 +78,7 @@ $(subst %,%_MD5,$(objects)) :
 $(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
index e46a2d4bc2e83bd77794997113627d46c7566780..33474fbe9c1f6ea05025933c7734bb83b0bf3ac5 100644 (file)
--- a/lfs/linux
+++ b/lfs/linux
 
 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)
@@ -71,7 +71,7 @@ objects =$(DL_FILE) \
 $(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
 
 
diff --git a/src/patches/compat-drivers-3.8-1-u-kref_get_unless_zero.patch b/src/patches/compat-drivers-3.8-1-u-kref_get_unless_zero.patch
new file mode 100644 (file)
index 0000000..1930d80
--- /dev/null
@@ -0,0 +1,38 @@
+--- 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