diff --git a/target/linux/generic/patches-3.3/270-regmap_dynamic.patch b/target/linux/generic/patches-3.3/270-regmap_dynamic.patch
index a583cb4c40b3176aaf56c068721f829a91f60115..43e13bc137083110b1a53914746618b9fc778174 100644
--- a/target/linux/generic/patches-3.3/270-regmap_dynamic.patch
+++ b/target/linux/generic/patches-3.3/270-regmap_dynamic.patch
@@ -1,7 +1,5 @@
-Index: linux-3.3.8/drivers/base/regmap/Kconfig
-===================================================================
---- linux-3.3.8.orig/drivers/base/regmap/Kconfig	2013-01-04 23:40:36.288481779 +0100
-+++ linux-3.3.8/drivers/base/regmap/Kconfig	2013-01-04 23:40:39.760481927 +0100
+--- a/drivers/base/regmap/Kconfig
++++ b/drivers/base/regmap/Kconfig
 @@ -3,16 +3,17 @@
  # subsystems should select the appropriate symbols.
  
@@ -24,10 +22,8 @@ Index: linux-3.3.8/drivers/base/regmap/Kconfig
  
  config REGMAP_IRQ
  	bool
-Index: linux-3.3.8/drivers/base/regmap/Makefile
-===================================================================
---- linux-3.3.8.orig/drivers/base/regmap/Makefile	2012-06-01 09:16:13.000000000 +0200
-+++ linux-3.3.8/drivers/base/regmap/Makefile	2013-01-05 00:20:31.236584162 +0100
+--- a/drivers/base/regmap/Makefile
++++ b/drivers/base/regmap/Makefile
 @@ -1,6 +1,8 @@
 -obj-$(CONFIG_REGMAP) += regmap.o regcache.o
 -obj-$(CONFIG_REGMAP) += regcache-rbtree.o regcache-lzo.o
diff --git a/target/linux/generic/patches-3.6/270-regmap_dynamic.patch b/target/linux/generic/patches-3.6/270-regmap_dynamic.patch
index d0c1a82b50a74d118dd80b61d65ebcde50c1233c..943e8706cd8d992955834de9a83d54a3b2add7e7 100644
--- a/target/linux/generic/patches-3.6/270-regmap_dynamic.patch
+++ b/target/linux/generic/patches-3.6/270-regmap_dynamic.patch
@@ -35,3 +35,17 @@
  
  enum regmap_endian {
  	/* Unspecified -> 0 -> Backwards compatible default */
+--- a/drivers/base/regmap/Makefile
++++ b/drivers/base/regmap/Makefile
+@@ -1,6 +1,8 @@
+-obj-$(CONFIG_REGMAP) += regmap.o regcache.o
+-obj-$(CONFIG_REGMAP) += regcache-rbtree.o regcache-lzo.o
+-obj-$(CONFIG_DEBUG_FS) += regmap-debugfs.o
++regmap-core-objs = regmap.o regcache.o regcache-rbtree.o regcache-lzo.o
++ifdef CONFIG_DEBUG_FS
++regmap-core-objs += regmap-debugfs.o
++endif
++obj-$(CONFIG_REGMAP) += regmap-core.o
+ obj-$(CONFIG_REGMAP_I2C) += regmap-i2c.o
+ obj-$(CONFIG_REGMAP_SPI) += regmap-spi.o
+ obj-$(CONFIG_REGMAP_MMIO) += regmap-mmio.o
diff --git a/target/linux/generic/patches-3.7/259-regmap_dynamic.patch b/target/linux/generic/patches-3.7/259-regmap_dynamic.patch
index df75b4ee211cd67460fcb5ff069f4909d55689ac..83d53d97d48dd3a6c3b788fb05934c8eb9f7fd87 100644
--- a/target/linux/generic/patches-3.7/259-regmap_dynamic.patch
+++ b/target/linux/generic/patches-3.7/259-regmap_dynamic.patch
@@ -1,7 +1,5 @@
-Index: linux-3.7.1/drivers/base/regmap/Kconfig
-===================================================================
---- linux-3.7.1.orig/drivers/base/regmap/Kconfig	2012-12-17 20:14:54.000000000 +0100
-+++ linux-3.7.1/drivers/base/regmap/Kconfig	2013-01-05 01:07:25.712704474 +0100
+--- a/drivers/base/regmap/Kconfig
++++ b/drivers/base/regmap/Kconfig
 @@ -3,20 +3,23 @@
  # subsystems should select the appropriate symbols.
  
@@ -30,11 +28,9 @@ Index: linux-3.7.1/drivers/base/regmap/Kconfig
  config REGMAP_IRQ
 +	select REGMAP
  	bool
-Index: linux-3.7.1/include/linux/regmap.h
-===================================================================
---- linux-3.7.1.orig/include/linux/regmap.h	2012-12-17 20:14:54.000000000 +0100
-+++ linux-3.7.1/include/linux/regmap.h	2013-01-05 01:03:32.012694484 +0100
-@@ -43,7 +43,7 @@
+--- a/include/linux/regmap.h
++++ b/include/linux/regmap.h
+@@ -43,7 +43,7 @@ struct reg_default {
  	unsigned int def;
  };
  
@@ -43,10 +39,8 @@ Index: linux-3.7.1/include/linux/regmap.h
  
  enum regmap_endian {
  	/* Unspecified -> 0 -> Backwards compatible default */
-Index: linux-3.7.1/drivers/base/regmap/Makefile
-===================================================================
---- linux-3.7.1.orig/drivers/base/regmap/Makefile	2012-12-17 20:14:54.000000000 +0100
-+++ linux-3.7.1/drivers/base/regmap/Makefile	2013-01-05 01:08:16.592706650 +0100
+--- a/drivers/base/regmap/Makefile
++++ b/drivers/base/regmap/Makefile
 @@ -1,6 +1,8 @@
 -obj-$(CONFIG_REGMAP) += regmap.o regcache.o
 -obj-$(CONFIG_REGMAP) += regcache-rbtree.o regcache-lzo.o