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