aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorChristian Lamparter <chunkeey@gmail.com>2018-08-03 23:49:22 +0200
committerJohn Crispin <john@phrozen.org>2018-08-06 07:17:12 +0200
commit3fce12568a5c38fe0361b433902a1321d34f93d7 (patch)
tree69a871bab6b5fd779902e4b058a334c2237e3a21 /target
parentf6d81e2fa1f110d8025eaa434d67d0014aca1d42 (diff)
downloadupstream-3fce12568a5c38fe0361b433902a1321d34f93d7.tar.gz
upstream-3fce12568a5c38fe0361b433902a1321d34f93d7.tar.bz2
upstream-3fce12568a5c38fe0361b433902a1321d34f93d7.zip
kernel: modules: fix kmod-regmap redux
Jonas Gorski commented on the previous patch: |This is actually the wrong fix and papers over an issue in one of our |local patches. | |We intentionally allow regmap to be built as a module, see | |/target/linux/generic/hack-4.14/259-regmap_dynamic.patch |[...] |[The regulator code] optionally supports regmap thanks to the stubs |provided if regmap is disabled - which breaks if you compile regmap |as a module. In order to mitigate this issue, this patch reverts the previous patch and replaces the existing IS_ENABLED(CONFIG_REGMAP) with IS_REACHABLE(CONFIG_REGMAP). This solves this particular issue as the regulator code will now automatically fallback to the regmap stubs in case the kmod-regmap module is enabled, but nothing else sets CONFIG_REGMAP=y. Note: There's still a potential issue that this patch doesn't solve: If someone ever wants to make a OpenWrt kernel package for a regulator module that requires the REGMAP feature for a target that doesn't set CONFIG_REGMAP=y but has CONFIG_REGULATOR=y, the resulting kmod-regulator-xyz package will not work on the target. Luckily, there aren't any in-tree OpenWrt kernel module packages for regulators at the moment. On the bright side: regmap is a critical part nowadays and all new and upcoming architectures require it by default. This will likely only ever be a problem for legacy targets and devices that cannot afford to enable REGMAP. Cc: Jonas Gorski <jonas.gorski@gmail.com> Cc: John Crispin <john@phrozen.org> Fixes: d00913d1215b ("kernel: modules: fix kmod-regmap") Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Diffstat (limited to 'target')
-rw-r--r--target/linux/generic/hack-4.14/259-regmap_dynamic.patch2
1 files changed, 1 insertions, 1 deletions
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@nbd.name>
})
-#ifdef CONFIG_REGMAP
-+#if IS_ENABLED(CONFIG_REGMAP)
++#if IS_REACHABLE(CONFIG_REGMAP)
enum regmap_endian {
/* Unspecified -> 0 -> Backwards compatible default */