diff options
author | Felix Fietkau <nbd@openwrt.org> | 2013-01-03 18:39:50 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2013-01-03 18:39:50 +0000 |
commit | 96f39119815028073583e4fca3a9c5fe9141e998 (patch) | |
tree | 5866a548f4027c52259bc4531d316555949e5bc9 | |
parent | 1dada293bfad5319856e3887aeb1e5d0c184367b (diff) | |
download | mtk-20170518-96f39119815028073583e4fca3a9c5fe9141e998.zip mtk-20170518-96f39119815028073583e4fca3a9c5fe9141e998.tar.gz mtk-20170518-96f39119815028073583e4fca3a9c5fe9141e998.tar.bz2 |
kernel: move regmap bloat out of the kernel image if it is only being used in modules
SVN-Revision: 34999
4 files changed, 103 insertions, 3 deletions
diff --git a/package/kernel/modules/other.mk b/package/kernel/modules/other.mk index ed72f52..2374d19 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 0000000..eaa6dbf --- /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 0000000..d0c1a82 --- /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 0000000..3c30652 --- /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 */ |