diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-01-03 18:39:50 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-01-03 18:39:50 +0000 |
commit | a0acd43cbf34682b18b03d038e2b0a12660a3788 (patch) | |
tree | a0ca0cb1f9c2b18f7e403d10cf3f66b58a0daa3c | |
parent | 17afd5a0df9ab533839a2ab114b0062e771c27d5 (diff) |
kernel: move regmap bloat out of the kernel image if it is only being used in modules
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34999 3c298f89-4303-0410-b956-a3cf2f4a3e73
4 files changed, 103 insertions, 3 deletions
diff --git a/package/kernel/modules/other.mk b/package/kernel/modules/other.mk index ed72f521e..2374d191a 100644 --- a/package/kernel/modules/other.mk +++ b/package/kernel/modules/other.mk @@ -698,12 +698,15 @@ $(eval $(call KernelPackage,acpi-button)) define KernelPackage/regmap SUBMENU:=$(OTHER_MENU) TITLE:=Generic register map support + DEPENDS:=+kmod-lib-lzo KCONFIG:=CONFIG_REGMAP=y \ CONFIG_REGMAP_SPI \ CONFIG_REGMAP_I2C - FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \ - $(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko - AUTOLOAD:=$(call AutoLoad,10,regmap-i2c regmap-spi) + FILES:= \ + $(LINUX_DIR)/drivers/base/regmap/regmap.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) 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 new file mode 100644 index 000000000..eaa6dbf36 --- /dev/null +++ b/target/linux/generic/patches-3.3/270-regmap_dynamic.patch @@ -0,0 +1,21 @@ +--- a/drivers/base/regmap/Kconfig ++++ b/drivers/base/regmap/Kconfig +@@ -3,15 +3,16 @@ + # subsystems should select the appropriate symbols. + + config REGMAP +- default y if (REGMAP_I2C || REGMAP_SPI) + select LZO_COMPRESS + select LZO_DECOMPRESS +- bool ++ tristate + + config REGMAP_I2C ++ select REGMAP + tristate + + config REGMAP_SPI ++ select REGMAP + tristate + + config REGMAP_IRQ diff --git a/target/linux/generic/patches-3.6/270-regmap_dynamic.patch b/target/linux/generic/patches-3.6/270-regmap_dynamic.patch new file mode 100644 index 000000000..d0c1a82b5 --- /dev/null +++ b/target/linux/generic/patches-3.6/270-regmap_dynamic.patch @@ -0,0 +1,37 @@ +--- a/drivers/base/regmap/Kconfig ++++ b/drivers/base/regmap/Kconfig +@@ -3,19 +3,21 @@ + # subsystems should select the appropriate symbols. + + config REGMAP +- default y if (REGMAP_I2C || REGMAP_SPI) + select LZO_COMPRESS + select LZO_DECOMPRESS + select IRQ_DOMAIN if REGMAP_IRQ +- bool ++ tristate + + config REGMAP_I2C ++ select REGMAP + tristate + + config REGMAP_SPI ++ select REGMAP + tristate + + config REGMAP_MMIO ++ select REGMAP + tristate + + config REGMAP_IRQ +--- a/include/linux/regmap.h ++++ b/include/linux/regmap.h +@@ -43,7 +43,7 @@ struct reg_default { + unsigned int def; + }; + +-#ifdef CONFIG_REGMAP ++#if IS_ENABLED(CONFIG_REGMAP) + + enum regmap_endian { + /* Unspecified -> 0 -> Backwards compatible default */ diff --git a/target/linux/generic/patches-3.7/259-regmap_dynamic.patch b/target/linux/generic/patches-3.7/259-regmap_dynamic.patch new file mode 100644 index 000000000..3c3065201 --- /dev/null +++ b/target/linux/generic/patches-3.7/259-regmap_dynamic.patch @@ -0,0 +1,39 @@ +--- a/drivers/base/regmap/Kconfig ++++ b/drivers/base/regmap/Kconfig +@@ -3,20 +3,23 @@ + # subsystems should select the appropriate symbols. + + config REGMAP +- default y if (REGMAP_I2C || REGMAP_SPI || REGMAP_MMIO || REGMAP_IRQ) + select LZO_COMPRESS + select LZO_DECOMPRESS + select IRQ_DOMAIN if REGMAP_IRQ +- bool ++ tristate + + config REGMAP_I2C ++ select REGMAP + tristate + + config REGMAP_SPI ++ select REGMAP + tristate + + config REGMAP_MMIO ++ select REGMAP + tristate + + config REGMAP_IRQ ++ select REGMAP + bool +--- a/include/linux/regmap.h ++++ b/include/linux/regmap.h +@@ -43,7 +43,7 @@ struct reg_default { + unsigned int def; + }; + +-#ifdef CONFIG_REGMAP ++#if IS_ENABLED(CONFIG_REGMAP) + + enum regmap_endian { + /* Unspecified -> 0 -> Backwards compatible default */ |