kernel: port the regmap fix to 3.6 (#12749), refresh patches for other versions
[openwrt.git] / target / linux / generic / patches-3.6 / 270-regmap_dynamic.patch
1 --- a/drivers/base/regmap/Kconfig
2 +++ b/drivers/base/regmap/Kconfig
3 @@ -3,19 +3,21 @@
4  # subsystems should select the appropriate symbols.
5  
6  config REGMAP
7 -       default y if (REGMAP_I2C || REGMAP_SPI)
8         select LZO_COMPRESS
9         select LZO_DECOMPRESS
10         select IRQ_DOMAIN if REGMAP_IRQ
11 -       bool
12 +       tristate
13  
14  config REGMAP_I2C
15 +       select REGMAP
16         tristate
17  
18  config REGMAP_SPI
19 +       select REGMAP
20         tristate
21  
22  config REGMAP_MMIO
23 +       select REGMAP
24         tristate
25  
26  config REGMAP_IRQ
27 --- a/include/linux/regmap.h
28 +++ b/include/linux/regmap.h
29 @@ -43,7 +43,7 @@ struct reg_default {
30         unsigned int def;
31  };
32  
33 -#ifdef CONFIG_REGMAP
34 +#if IS_ENABLED(CONFIG_REGMAP)
35  
36  enum regmap_endian {
37         /* Unspecified -> 0 -> Backwards compatible default */
38 --- a/drivers/base/regmap/Makefile
39 +++ b/drivers/base/regmap/Makefile
40 @@ -1,6 +1,8 @@
41 -obj-$(CONFIG_REGMAP) += regmap.o regcache.o
42 -obj-$(CONFIG_REGMAP) += regcache-rbtree.o regcache-lzo.o
43 -obj-$(CONFIG_DEBUG_FS) += regmap-debugfs.o
44 +regmap-core-objs = regmap.o regcache.o regcache-rbtree.o regcache-lzo.o
45 +ifdef CONFIG_DEBUG_FS
46 +regmap-core-objs += regmap-debugfs.o
47 +endif
48 +obj-$(CONFIG_REGMAP) += regmap-core.o
49  obj-$(CONFIG_REGMAP_I2C) += regmap-i2c.o
50  obj-$(CONFIG_REGMAP_SPI) += regmap-spi.o
51  obj-$(CONFIG_REGMAP_MMIO) += regmap-mmio.o