Openwrt/target/linux/generic/hack-4.14
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
..
202-reduce_module_size.patch
204-module_strip.patch
207-disable-modorder.patch kernel: bump 4.14 to 4.14.59 2018-07-31 05:11:07 +03:00
210-darwin_scripts_include.patch
211-host_tools_portability.patch kernel: bump 4.14 to 4.14.59 2018-07-31 05:11:07 +03:00
212-byteshift_portability.patch
214-spidev_h_portability.patch
220-gc_sections.patch kernel: bump 4.14 to 4.14.59 2018-07-31 05:11:07 +03:00
221-module_exports.patch
230-openwrt_lzma_options.patch
250-netfilter_depends.patch
251-sound_kconfig.patch
259-regmap_dynamic.patch kernel: modules: fix kmod-regmap redux 2018-08-06 07:17:12 +02:00
260-crypto_test_dependencies.patch
280-rfkill-stubs.patch
300-MIPS-r4k_cache-use-more-efficient-cache-blast.patch
301-mips_image_cmdline_hack.patch
321-powerpc_crtsavres_prereq.patch
531-debloat_lzma.patch
640-bridge-only-accept-EAP-locally.patch kernel: replace bridge port isolate hack with upstream patch backport on 4.14 2018-07-11 20:59:05 +02:00
650-netfilter-add-xt_OFFLOAD-target.patch kernel: bump 4.14 to 4.14.51 2018-06-26 08:57:21 +02:00
651-wireless_mesh_header.patch
660-fq_codel_defaults.patch
661-use_fq_codel_by_default.patch
662-remove_pfifo_fast.patch
700-swconfig_switch_drivers.patch
702-phy_add_aneg_done_function.patch
721-phy_packets.patch
773-bgmac-add-srab-switch.patch
835-misc-owl_loader.patch
901-debloat_sock_diag.patch
902-debloat_proc.patch kernel: bump 4.14 to 4.14.60 2018-08-03 16:10:38 +02:00
904-debloat_dma_buf.patch kernel: bump 4.14 to 4.14.54 2018-07-11 16:02:24 +02:00
910-kobject_uevent.patch
911-kobject_add_broadcast_uevent.patch
921-always-create-console-node-in-initramfs.patch
930-crashlog.patch
940-cleanup-offload-hooks-on-netdev-unregister.patch kernel: bump 4.14 to 4.14.52 2018-07-02 07:04:48 +02:00