clk: imx6q: fix section mismatch warning [Linux 5.3]

This Linux kernel change "clk: imx6q: fix section mismatch warning" is included in the Linux 5.3 release. This change is authored by Arnd Bergmann <arnd [at]> on Mon Jun 17 13:11:35 2019 +0200. The commit for this change in Linux stable tree is 0e12248 (patch).

clk: imx6q: fix section mismatch warning

The imx6q_obtain_fixed_clk_hw lacks an __init marker, which
leads to this otherwise harmless warning:

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

Fixes: 992b703b5b38 ("clk: imx6q: Switch to clk_hw based API")
Signed-off-by: Arnd Bergmann <>
Signed-off-by: Shawn Guo <>

There are 5 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 drivers/clk/imx/clk-imx6q.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/imx/clk-imx6q.c b/drivers/clk/imx/clk-imx6q.c
index 4be0558b..4e61f51 100644
--- a/drivers/clk/imx/clk-imx6q.c
+++ b/drivers/clk/imx/clk-imx6q.c
@@ -424,8 +424,9 @@ static void disable_anatop_clocks(void __iomem *anatop_base)
    writel_relaxed(reg, anatop_base + CCM_ANALOG_PLL_VIDEO);

-static struct clk_hw *imx6q_obtain_fixed_clk_hw(struct device_node *np,
-                       const char *name, unsigned long rate)
+static struct clk_hw * __init imx6q_obtain_fixed_clk_hw(struct device_node *np,
+                           const char *name,
+                           unsigned long rate)
    struct clk *clk = of_clk_get_by_name(np, name);
    struct clk_hw *hw;

Leave a Reply

Your email address will not be published. Required fields are marked *