123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- From de88e9b0354c2e3ff8eae3f97afe43a34f5ed239 Mon Sep 17 00:00:00 2001
- From: Jonas Gorski <[email protected]>
- Date: Sat, 13 May 2017 13:03:21 +0200
- Subject: [PATCH] regmap: make LZO cache optional
- 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 <[email protected]>
- ---
- I tried using google to find any users (even out-of-tree ones), but at
- best I found a single driver submission that was switched to RBTREE in
- subsequent resubmissions (MFD_SMSC).
- One could maybe also just drop the code because of no users for 5 years,
- but that would be up to the maintainer(s) to decide.
- drivers/base/regmap/Kconfig | 5 ++++-
- drivers/base/regmap/Makefile | 3 ++-
- drivers/base/regmap/regcache.c | 2 ++
- 3 files changed, 8 insertions(+), 2 deletions(-)
- --- a/drivers/base/regmap/Kconfig
- +++ b/drivers/base/regmap/Kconfig
- @@ -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
- --- a/drivers/base/regmap/Makefile
- +++ b/drivers/base/regmap/Makefile
- @@ -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
- --- a/drivers/base/regmap/regcache.c
- +++ b/drivers/base/regmap/regcache.c
- @@ -21,7 +21,9 @@
-
- static const struct regcache_ops *cache_types[] = {
- ®cache_rbtree_ops,
- +#if IS_ENABLED(CONFIG_REGCACHE_COMPRESSED)
- ®cache_lzo_ops,
- +#endif
- ®cache_flat_ops,
- };
-
|