kernel: Build: Split kmod-regmap
[openwrt/openwrt.git] / target / linux / generic / pending-3.18 / 259-regmap_dynamic.patch
1 --- a/drivers/base/regmap/Kconfig
2 +++ b/drivers/base/regmap/Kconfig
3 @@ -3,9 +3,8 @@
4 # subsystems should select the appropriate symbols.
5
6 config REGMAP
7 - default y if (REGMAP_I2C || REGMAP_SPI || REGMAP_SPMI || REGMAP_MMIO || REGMAP_IRQ)
8 select IRQ_DOMAIN if REGMAP_IRQ
9 - bool
10 + tristate
11
12 config REGCACHE_COMPRESSED
13 select LZO_COMPRESS
14 @@ -14,18 +13,24 @@ config REGCACHE_COMPRESSED
15
16 config REGMAP_I2C
17 tristate
18 + select REGMAP
19 depends on I2C
20
21 config REGMAP_SPI
22 tristate
23 + select REGMAP
24 + depends on SPI_MASTER
25 depends on SPI
26
27 config REGMAP_SPMI
28 + select REGMAP
29 tristate
30 depends on SPMI
31
32 config REGMAP_MMIO
33 tristate
34 + select REGMAP
35
36 config REGMAP_IRQ
37 + select REGMAP
38 bool
39 --- a/include/linux/regmap.h
40 +++ b/include/linux/regmap.h
41 @@ -49,7 +49,7 @@ struct reg_default {
42 unsigned int def;
43 };
44
45 -#ifdef CONFIG_REGMAP
46 +#if IS_ENABLED(CONFIG_REGMAP)
47
48 enum regmap_endian {
49 /* Unspecified -> 0 -> Backwards compatible default */
50 --- a/drivers/base/regmap/Makefile
51 +++ b/drivers/base/regmap/Makefile
52 @@ -1,7 +1,11 @@
53 -obj-$(CONFIG_REGMAP) += regmap.o regcache.o
54 -obj-$(CONFIG_REGMAP) += regcache-rbtree.o regcache-flat.o
55 -obj-$(CONFIG_REGCACHE_COMPRESSED) += regcache-lzo.o
56 -obj-$(CONFIG_DEBUG_FS) += regmap-debugfs.o
57 +regmap-core-objs = regmap.o regcache.o regcache-rbtree.o regcache-flat.o
58 +ifdef CONFIG_DEBUG_FS
59 +regmap-core-objs += regmap-debugfs.o
60 +endif
61 +ifdef CONFIG_REGCACHE_COMPRESSED
62 +regmap-core-objs += regcache-lzo.o
63 +endif
64 +obj-$(CONFIG_REGMAP) += regmap-core.o
65 obj-$(CONFIG_REGMAP_I2C) += regmap-i2c.o
66 obj-$(CONFIG_REGMAP_SPI) += regmap-spi.o
67 obj-$(CONFIG_REGMAP_SPMI) += regmap-spmi.o
68 --- a/drivers/base/regmap/regmap.c
69 +++ b/drivers/base/regmap/regmap.c
70 @@ -13,6 +13,7 @@
71 #include <linux/device.h>
72 #include <linux/slab.h>
73 #include <linux/export.h>
74 +#include <linux/module.h>
75 #include <linux/mutex.h>
76 #include <linux/err.h>
77 #include <linux/of.h>
78 @@ -2630,3 +2631,5 @@ static int __init regmap_initcall(void)
79 return 0;
80 }
81 postcore_initcall(regmap_initcall);
82 +
83 +MODULE_LICENSE("GPL");