12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- From de88e9b0354c2e3ff8eae3f97afe43a34f5ed239 Mon Sep 17 00:00:00 2001
- From: Jonas Gorski <jonas.gorski@gmail.com>
- 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 <jonas.gorski@gmail.com>
- ---
- 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_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_I2C
- --- a/drivers/base/regmap/Makefile
- +++ b/drivers/base/regmap/Makefile
- @@ -1,5 +1,6 @@
- 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_I2C) += regmap-i2c.o
- obj-$(CONFIG_REGMAP_SPI) += regmap-spi.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,
- };
-
|