No subject
Thu Jun 25 05:52:11 EDT 2020
the case. The drivers for the i2c jellybean regulator parts select REGMAP_I2C.
The remaining regulators drivers are usually part of a SoC and have a indirect
dependency/select to another symbol that selects REGMAP (these are mostly
syscon/mfd symbols and CONFIG_SYSCON pulls in REGMAP_MMIO). So I guess this
will only become a problem is regulator kmods are added.
> b) (OpenWrt only) Change the usage in regulator/core.c and
> regulator/helper.c to work like REGMAP is disabled if it is
> build as a module.
---
diff --git a/package/kernel/linux/modules/other.mk b/package/kernel/linux/modules/other.mk
index dd037cf86c..7e18a21db3 100644
--- a/package/kernel/linux/modules/other.mk
+++ b/package/kernel/linux/modules/other.mk
@@ -718,7 +718,7 @@ define KernelPackage/regmap
SUBMENU:=$(OTHER_MENU)
TITLE:=Generic register map support
DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
- KCONFIG:=CONFIG_REGMAP=y \
+ KCONFIG:=CONFIG_REGMAP \
CONFIG_REGMAP_MMIO \
CONFIG_REGMAP_SPI \
CONFIG_REGMAP_I2C \
diff --git a/target/linux/generic/hack-4.14/259-regmap_dynamic.patch b/target/linux/generic/hack-4.14/259-regmap_dynamic.patch
index 1c6e78df30..458b7c35a1 100644
--- a/target/linux/generic/hack-4.14/259-regmap_dynamic.patch
+++ b/target/linux/generic/hack-4.14/259-regmap_dynamic.patch
@@ -103,7 +103,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
})
-#ifdef CONFIG_REGMAP
-+#if IS_ENABLED(CONFIG_REGMAP)
++#if IS_REACHABLE(CONFIG_REGMAP)
enum regmap_endian {
/* Unspecified -> 0 -> Backwards compatible default */
---
I think this should do just that. To quote IS_REACHABLE help text:"
IS_REACHABLE(CONFIG_FOO) evaluates to 1 if the currently compiled
code can call a function defined in code compiled based on CONFIG_FOO.
This is similar to IS_ENABLED(), but returns false when invoked from
built-in code when CONFIG_FOO is set to 'm'."
and it should combine the best of both worlds. (And maybe make it
possible to disable the REGMAP=y from ath79-tiny. Any testers?)
> b) is to allow building REGMAP as =m even when REGULATOR is enabled,
> if no REGMAP requiring REGULATOR driver is enabled.
I was more thinking about detangling just the REGULATOR_FIXED_VOLTAGE
driver from the REGULATOR framework. So it can be built without the
regulator core and regmap. I did play around with #ifdefing but nah,
this turns out to become a much bigger fragile hack, that nobody is
going to maintain.
Regards,
Christian
Regards,
Christian
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list