regmap: make LZO cache optional
authorJonas Gorski <jonas.gorski@gmail.com>
Fri, 2 Jun 2017 13:15:37 +0000 (15:15 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 6 Jun 2017 18:46:57 +0000 (19:46 +0100)
Commit 2cbbb579bcbe3 ("regmap: Add the LZO cache support") added support
for LZO compression in regcache, but there were never any users added
afterwards. Since LZO support itself has its own size, it currently is
rather a deoptimization.

So make it optional by introducing a symbol that can be selected by
drivers wanting to make use of it.

Saves e.g. ~46 kB on MIPS (size of LZO support + regcache LZO code).

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/base/regmap/Kconfig
drivers/base/regmap/Makefile
drivers/base/regmap/regcache.c

index db9d00c36a3e941e466665de2535399e2ee4a076..48b3fc1ee5141b086e5ab12dd78b5e064428b24a 100644 (file)
@@ -4,9 +4,12 @@
 
 config REGMAP
        default y if (REGMAP_I2C || REGMAP_SPI || REGMAP_SPMI || REGMAP_AC97 || REGMAP_MMIO || REGMAP_IRQ)
+       select IRQ_DOMAIN if REGMAP_IRQ
+       bool
+
+config REGCACHE_COMPRESSED
        select LZO_COMPRESS
        select LZO_DECOMPRESS
-       select IRQ_DOMAIN if REGMAP_IRQ
        bool
 
 config REGMAP_AC97
index 609e4c84f485b89ab0d219a3cfd06a2faf5a68ba..6271ea9b758a424306bb0cf62877ca0b8828bfcb 100644 (file)
@@ -2,7 +2,8 @@
 CFLAGS_regmap.o := -I$(src)
 
 obj-$(CONFIG_REGMAP) += regmap.o regcache.o
-obj-$(CONFIG_REGMAP) += regcache-rbtree.o regcache-lzo.o regcache-flat.o
+obj-$(CONFIG_REGMAP) += regcache-rbtree.o regcache-flat.o
+obj-$(CONFIG_REGCACHE_COMPRESSED) += regcache-lzo.o
 obj-$(CONFIG_DEBUG_FS) += regmap-debugfs.o
 obj-$(CONFIG_REGMAP_AC97) += regmap-ac97.o
 obj-$(CONFIG_REGMAP_I2C) += regmap-i2c.o
index b0a0dcf32fb7d05a0abdf725c158c47453652e34..f3a435ee5fe8f8534a04725568819f712ed4283d 100644 (file)
@@ -21,7 +21,9 @@
 
 static const struct regcache_ops *cache_types[] = {
        &regcache_rbtree_ops,
+#if IS_ENABLED(CONFIG_REGCHACHE_COMPRESSED)
        &regcache_lzo_ops,
+#endif
        &regcache_flat_ops,
 };