openwrtv4/target/linux
Christian Lamparter 3fce12568a 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: d00913d121 ("kernel: modules: fix kmod-regmap")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-08-06 07:17:12 +02:00
..
adm5120 kernel: only optimized for size if small_flash 2018-07-12 18:15:32 +02:00
adm8668 kernel: mark all v3.18 and v4.4 kernels are source-only 2018-05-24 08:55:52 +02:00
apm821xx kernel: bump 4.14 to 4.14.59 2018-07-31 05:11:07 +03:00
ar7 kernel: bump 4.9 to 4.9.100 2018-05-18 09:10:21 +02:00
ar71xx ar71xx: add support for TP-LINK CPE510 V2.0 2018-08-02 07:49:26 +02:00
arc770 arc: Update variables substitutions in u-boot env files 2018-07-12 10:24:31 +02:00
archs38 arc: Update variables substitutions in u-boot env files 2018-07-12 10:24:31 +02:00
armvirt kernel: add missing ARM64_SSBD symbol 2018-07-31 12:22:11 +03:00
at91 kernel: only optimized for size if small_flash 2018-07-12 18:15:32 +02:00
ath25 ath25: drop 4.9 kernel support 2018-05-22 07:20:13 +02:00
ath79 treewide: convert gpio-export to platform driver 2018-08-04 08:39:35 +02:00
au1000 kernel: only optimized for size if small_flash 2018-07-12 18:15:32 +02:00
bcm53xx kernel: bump 4.14 to 4.14.59 2018-07-31 05:11:07 +03:00
brcm47xx kernel: bump 4.9 to 4.9.116 2018-08-01 09:46:59 +02:00
brcm63xx brcm63xx: switch to 4.14 2018-08-02 08:49:18 +02:00
brcm2708 kernel: bump 4.9 to 4.9.117 2018-08-03 16:10:38 +02:00
cns3xxx kernel: bump 4.14 to 4.14.60 2018-08-03 16:10:38 +02:00
gemini kernel: remove DEVMEM and DEVKMEM from target's config 2018-07-07 18:19:39 +02:00
generic kernel: modules: fix kmod-regmap redux 2018-08-06 07:17:12 +02:00
imx6 kernel: enable THIN_ARCHIVES by default 2018-05-22 07:55:20 +02:00
ipq40xx kernel: bump 4.14 to 4.14.59 2018-07-31 05:11:07 +03:00
ipq806x ipq806x: dts: Remove device_type = "ethernet-phy" 2018-07-19 18:58:24 +02:00
ixp4xx kernel: bump 4.9 to 4.9.116 2018-08-01 09:46:59 +02:00
kirkwood kernel: bump 4.9 to 4.9.116 2018-08-01 09:46:59 +02:00
lantiq treewide: convert gpio-export to platform driver 2018-08-04 08:39:35 +02:00
layerscape kernel: bump 4.9 to 4.9.117 2018-08-03 16:10:38 +02:00
malta malta: bump tp v4.14 2018-01-09 10:26:16 +01:00
mcs814x kernel: only optimized for size if small_flash 2018-07-12 18:15:32 +02:00
mediatek kernel: add missing ARM64_SSBD symbol 2018-07-31 12:22:11 +03:00
mpc85xx WDR4900v1 remove dt node for absent hw crypto. 2018-07-07 18:19:39 +02:00
mvebu kernel: bump 4.14 to 4.14.60 2018-08-03 16:10:38 +02:00
mxs kernel: enable THIN_ARCHIVES by default 2018-05-22 07:55:20 +02:00
octeon octeon: Add and set CPU type Octeon+ as default 2018-06-20 15:36:02 +02:00
octeontx kernel: add missing ARM64_SSBD symbol 2018-07-31 12:22:11 +03:00
omap omap: disable ubifs 2018-07-30 11:03:02 +02:00
omap24xx omap24xx: remove referece to not existing kmod-usb-musb-tusb6010 2018-01-15 13:13:34 +01:00
orion orion: remove linux 4.4 support 2018-04-19 14:38:57 +02:00
oxnas kernel: bump 4.14 to 4.14.59 2018-07-31 05:11:07 +03:00
pistachio kernel: bump 4.14 to 4.14.42 2018-05-22 20:49:08 +02:00
ppc40x kernel: only optimized for size if small_flash 2018-07-12 18:15:32 +02:00
ppc44x kernel: only optimized for size if small_flash 2018-07-12 18:15:32 +02:00
ramips mt7620: gsw: make IntPHY and ExtPHY share mdio addr 4 possible 2018-08-06 07:12:31 +02:00
rb532 kernel: only optimized for size if small_flash 2018-07-12 18:15:32 +02:00
samsung samsung/s5pv210: New target 2018-07-30 14:10:00 +02:00
sunxi kernel: bump 4.9 to 4.9.116 2018-08-01 09:46:59 +02:00
uml kernel: bump 4.9 to 4.9.100 2018-05-18 09:10:21 +02:00
x86 x86: add support to set GRUB menu entry title 2018-07-30 15:55:21 +02:00
xburst kernel: mark all v3.18 and v4.4 kernels are source-only 2018-05-24 08:55:52 +02:00
zynq zynq: remove config options handled by generic 2018-07-02 07:12:48 +02:00
Makefile