From 6408679755dc3f52868384567d51bd9ae0d63389 Mon Sep 17 00:00:00 2001 From: blogic Date: Sat, 5 Jan 2013 00:20:05 +0000 Subject: [kernel] fix regmap debloat patch git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35015 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/kernel/modules/other.mk | 11 ++++--- .../generic/patches-3.3/270-regmap_dynamic.patch | 33 +++++++++++++++---- .../generic/patches-3.7/259-regmap_dynamic.patch | 38 +++++++++++++++++----- 3 files changed, 63 insertions(+), 19 deletions(-) diff --git a/package/kernel/modules/other.mk b/package/kernel/modules/other.mk index 2374d191a9..1c8a3dcfef 100644 --- a/package/kernel/modules/other.mk +++ b/package/kernel/modules/other.mk @@ -698,15 +698,16 @@ $(eval $(call KernelPackage,acpi-button)) define KernelPackage/regmap SUBMENU:=$(OTHER_MENU) TITLE:=Generic register map support - DEPENDS:=+kmod-lib-lzo - KCONFIG:=CONFIG_REGMAP=y \ + DEPENDS:=+kmod-lib-lzo +kmod-i2c-core + KCONFIG:=CONFIG_REGMAP \ CONFIG_REGMAP_SPI \ - CONFIG_REGMAP_I2C + CONFIG_REGMAP_I2C \ + CONFIG_SPI=y FILES:= \ - $(LINUX_DIR)/drivers/base/regmap/regmap.ko \ + $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \ $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \ $(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko - AUTOLOAD:=$(call AutoLoad,10,regmap regmap-i2c regmap-spi) + AUTOLOAD:=$(call AutoLoad,10,regmap-core regmap-i2c regmap-spi) endef define KernelPackage/regmap/description 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 eaa6dbf367..a583cb4c40 100644 --- a/target/linux/generic/patches-3.3/270-regmap_dynamic.patch +++ b/target/linux/generic/patches-3.3/270-regmap_dynamic.patch @@ -1,6 +1,8 @@ ---- a/drivers/base/regmap/Kconfig -+++ b/drivers/base/regmap/Kconfig -@@ -3,15 +3,16 @@ +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 +@@ -3,16 +3,17 @@ # subsystems should select the appropriate symbols. config REGMAP @@ -8,14 +10,33 @@ select LZO_COMPRESS select LZO_DECOMPRESS - bool -+ tristate ++ tristate "Regmap" config REGMAP_I2C +- tristate + select REGMAP - tristate ++ tristate "Regmap I2C" config REGMAP_SPI +- tristate + select REGMAP - tristate ++ tristate "Regmap SPI" 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 +@@ -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_DEBUGFS ++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_IRQ) += regmap-irq.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 3c30652017..df75b4ee21 100644 --- a/target/linux/generic/patches-3.7/259-regmap_dynamic.patch +++ b/target/linux/generic/patches-3.7/259-regmap_dynamic.patch @@ -1,5 +1,7 @@ ---- a/drivers/base/regmap/Kconfig -+++ b/drivers/base/regmap/Kconfig +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 @@ -3,20 +3,23 @@ # subsystems should select the appropriate symbols. @@ -9,15 +11,17 @@ select LZO_DECOMPRESS select IRQ_DOMAIN if REGMAP_IRQ - bool -+ tristate ++ tristate "Regmap" config REGMAP_I2C +- tristate + select REGMAP - tristate ++ tristate "Regmap I2C" config REGMAP_SPI +- tristate + select REGMAP - tristate ++ tristate "Regmap SPI" config REGMAP_MMIO + select REGMAP @@ -26,9 +30,11 @@ config REGMAP_IRQ + select REGMAP bool ---- a/include/linux/regmap.h -+++ b/include/linux/regmap.h -@@ -43,7 +43,7 @@ struct reg_default { +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 @@ unsigned int def; }; @@ -37,3 +43,19 @@ 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 +@@ -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 -- cgit v1.2.3