| From 52f27b13ac830ce40aed27f3e8d4d81a7899e7bb Mon Sep 17 00:00:00 2001 |
| From: Nathan Chancellor <natechancellor@gmail.com> |
| Date: Wed, 17 Oct 2018 17:52:07 -0700 |
| Subject: ARM: OMAP2+: hwmod: Fix some section annotations |
| |
| [ Upstream commit c10b26abeb53cabc1e6271a167d3f3d396ce0218 ] |
| |
| When building the kernel with Clang, the following section mismatch |
| warnings appears: |
| |
| WARNING: vmlinux.o(.text+0x2d398): Section mismatch in reference from |
| the function _setup() to the function .init.text:_setup_iclk_autoidle() |
| The function _setup() references |
| the function __init _setup_iclk_autoidle(). |
| This is often because _setup lacks a __init |
| annotation or the annotation of _setup_iclk_autoidle is wrong. |
| |
| WARNING: vmlinux.o(.text+0x2d3a0): Section mismatch in reference from |
| the function _setup() to the function .init.text:_setup_reset() |
| The function _setup() references |
| the function __init _setup_reset(). |
| This is often because _setup lacks a __init |
| annotation or the annotation of _setup_reset is wrong. |
| |
| WARNING: vmlinux.o(.text+0x2d408): Section mismatch in reference from |
| the function _setup() to the function .init.text:_setup_postsetup() |
| The function _setup() references |
| the function __init _setup_postsetup(). |
| This is often because _setup lacks a __init |
| annotation or the annotation of _setup_postsetup is wrong. |
| |
| _setup is used in omap_hwmod_allocate_module, which isn't marked __init |
| and looks like it shouldn't be, meaning to fix these warnings, those |
| functions must be moved out of the init section, which this patch does. |
| |
| Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> |
| Signed-off-by: Tony Lindgren <tony@atomide.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/arm/mach-omap2/omap_hwmod.c | 6 +++--- |
| 1 file changed, 3 insertions(+), 3 deletions(-) |
| |
| diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c |
| index cd65ea4e9c54..ec3789ba17b8 100644 |
| --- a/arch/arm/mach-omap2/omap_hwmod.c |
| +++ b/arch/arm/mach-omap2/omap_hwmod.c |
| @@ -2397,7 +2397,7 @@ static int __init _init(struct omap_hwmod *oh, void *data) |
| * a stub; implementing this properly requires iclk autoidle usecounting in |
| * the clock code. No return value. |
| */ |
| -static void __init _setup_iclk_autoidle(struct omap_hwmod *oh) |
| +static void _setup_iclk_autoidle(struct omap_hwmod *oh) |
| { |
| struct omap_hwmod_ocp_if *os; |
| |
| @@ -2428,7 +2428,7 @@ static void __init _setup_iclk_autoidle(struct omap_hwmod *oh) |
| * reset. Returns 0 upon success or a negative error code upon |
| * failure. |
| */ |
| -static int __init _setup_reset(struct omap_hwmod *oh) |
| +static int _setup_reset(struct omap_hwmod *oh) |
| { |
| int r; |
| |
| @@ -2489,7 +2489,7 @@ static int __init _setup_reset(struct omap_hwmod *oh) |
| * |
| * No return value. |
| */ |
| -static void __init _setup_postsetup(struct omap_hwmod *oh) |
| +static void _setup_postsetup(struct omap_hwmod *oh) |
| { |
| u8 postsetup_state; |
| |
| -- |
| 2.19.1 |
| |