Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

bus: imx-weim: remove incorrect __init annotations

The probe function is no longer __init, so anything it calls now
must also be available at runtime, as Kbuild points out when building
with clang-9:

WARNING: vmlinux.o(.text+0x6e7040): Section mismatch in reference from the function weim_probe() to the function .init.text:imx_weim_gpr_setup()
The function weim_probe() references
the function __init imx_weim_gpr_setup().
This is often because weim_probe lacks a __init
annotation or the annotation of imx_weim_gpr_setup is wrong.

WARNING: vmlinux.o(.text+0x6e70f0): Section mismatch in reference from the function weim_probe() to the function .init.text:weim_timing_setup()
The function weim_probe() references
the function __init weim_timing_setup().
This is often because weim_probe lacks a __init
annotation or the annotation of weim_timing_setup is wrong.

Remove the remaining __init markings that are now wrong.

Fixes: 4a92f07816ba ("bus: imx-weim: use module_platform_driver()")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+5 -5
+5 -5
drivers/bus/imx-weim.c
··· 76 76 }; 77 77 MODULE_DEVICE_TABLE(of, weim_id_table); 78 78 79 - static int __init imx_weim_gpr_setup(struct platform_device *pdev) 79 + static int imx_weim_gpr_setup(struct platform_device *pdev) 80 80 { 81 81 struct device_node *np = pdev->dev.of_node; 82 82 struct property *prop; ··· 126 126 } 127 127 128 128 /* Parse and set the timing for this device. */ 129 - static int __init weim_timing_setup(struct device *dev, 130 - struct device_node *np, void __iomem *base, 131 - const struct imx_weim_devtype *devtype, 132 - struct cs_timing_state *ts) 129 + static int weim_timing_setup(struct device *dev, 130 + struct device_node *np, void __iomem *base, 131 + const struct imx_weim_devtype *devtype, 132 + struct cs_timing_state *ts) 133 133 { 134 134 u32 cs_idx, value[MAX_CS_REGS_COUNT]; 135 135 int i, ret;