1 --- a/drivers/base/regmap/Kconfig
2 +++ b/drivers/base/regmap/Kconfig
4 # subsystems should select the appropriate symbols.
7 - default y if (REGMAP_I2C || REGMAP_SPI || REGMAP_SPMI || REGMAP_MMIO || REGMAP_IRQ)
8 select IRQ_DOMAIN if REGMAP_IRQ
12 config REGCACHE_COMPRESSED
14 @@ -13,19 +12,25 @@ config REGCACHE_COMPRESSED
19 + tristate "Regmap I2C"
25 + tristate "Regmap SPI"
27 + depends on SPI_MASTER
37 + tristate "Regmap MMIO"
43 --- a/include/linux/regmap.h
44 +++ b/include/linux/regmap.h
45 @@ -49,7 +49,7 @@ struct reg_default {
50 +#if IS_ENABLED(CONFIG_REGMAP)
53 /* Unspecified -> 0 -> Backwards compatible default */
54 --- a/drivers/base/regmap/Makefile
55 +++ b/drivers/base/regmap/Makefile
57 -obj-$(CONFIG_REGMAP) += regmap.o regcache.o
58 -obj-$(CONFIG_REGMAP) += regcache-rbtree.o regcache-flat.o
59 -obj-$(CONFIG_REGCACHE_COMPRESSED) += regcache-lzo.o
60 -obj-$(CONFIG_DEBUG_FS) += regmap-debugfs.o
61 +regmap-core-objs = regmap.o regcache.o regcache-rbtree.o regcache-flat.o
62 +ifdef CONFIG_DEBUG_FS
63 +regmap-core-objs += regmap-debugfs.o
65 +ifdef CONFIG_REGCACHE_COMPRESSED
66 +regmap-core-objs += regcache-lzo.o
68 +obj-$(CONFIG_REGMAP) += regmap-core.o
69 obj-$(CONFIG_REGMAP_I2C) += regmap-i2c.o
70 obj-$(CONFIG_REGMAP_SPI) += regmap-spi.o
71 obj-$(CONFIG_REGMAP_SPMI) += regmap-spmi.o
72 --- a/drivers/base/regmap/regmap.c
73 +++ b/drivers/base/regmap/regmap.c
75 #include <linux/device.h>
76 #include <linux/slab.h>
77 #include <linux/export.h>
78 +#include <linux/module.h>
79 #include <linux/mutex.h>
80 #include <linux/err.h>
82 @@ -2630,3 +2631,5 @@ static int __init regmap_initcall(void)
85 postcore_initcall(regmap_initcall);
87 +MODULE_LICENSE("GPL");