From 96f39119815028073583e4fca3a9c5fe9141e998 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 3 Jan 2013 18:39:50 +0000 Subject: [PATCH] kernel: move regmap bloat out of the kernel image if it is only being used in modules SVN-Revision: 34999 --- package/kernel/modules/other.mk | 9 +++-- .../patches-3.3/270-regmap_dynamic.patch | 21 ++++++++++ .../patches-3.6/270-regmap_dynamic.patch | 37 ++++++++++++++++++ .../patches-3.7/259-regmap_dynamic.patch | 39 +++++++++++++++++++ 4 files changed, 103 insertions(+), 3 deletions(-) create mode 100644 target/linux/generic/patches-3.3/270-regmap_dynamic.patch create mode 100644 target/linux/generic/patches-3.6/270-regmap_dynamic.patch create mode 100644 target/linux/generic/patches-3.7/259-regmap_dynamic.patch diff --git a/package/kernel/modules/other.mk b/package/kernel/modules/other.mk index ed72f521eb..2374d191a9 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 0000000000..eaa6dbf367 --- /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 0000000000..d0c1a82b50 --- /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 0000000000..3c30652017 --- /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 */ -- 2.30.2