| From 54c09889bff6d99c8733eed4a26c9391b177c88b Mon Sep 17 00:00:00 2001 |
| From: Arnd Bergmann <arnd@arndb.de> |
| Date: Mon, 12 Oct 2015 15:46:08 +0200 |
| Subject: ARM: pxa: remove incorrect __init annotation on pxa27x_set_pwrmode |
| |
| commit 54c09889bff6d99c8733eed4a26c9391b177c88b upstream. |
| |
| The z2 machine calls pxa27x_set_pwrmode() in order to power off |
| the machine, but this function gets discarded early at boot because |
| it is marked __init, as pointed out by kbuild: |
| |
| WARNING: vmlinux.o(.text+0x145c4): Section mismatch in reference from the function z2_power_off() to the function .init.text:pxa27x_set_pwrmode() |
| The function z2_power_off() references |
| the function __init pxa27x_set_pwrmode(). |
| This is often because z2_power_off lacks a __init |
| annotation or the annotation of pxa27x_set_pwrmode is wrong. |
| |
| This removes the __init section modifier to fix rebooting and the |
| build error. |
| |
| Signed-off-by: Arnd Bergmann <arnd@arndb.de> |
| Fixes: ba4a90a6d86a ("ARM: pxa/z2: fix building error of pxa27x_cpu_suspend() no longer available") |
| Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> |
| [lizf: Backported to 3.4: adjust context] |
| Signed-off-by: Zefan Li <lizefan@huawei.com> |
| --- |
| arch/arm/mach-pxa/include/mach/pxa27x.h | 2 +- |
| arch/arm/mach-pxa/pxa27x.c | 2 +- |
| 2 files changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/arch/arm/mach-pxa/include/mach/pxa27x.h |
| +++ b/arch/arm/mach-pxa/include/mach/pxa27x.h |
| @@ -21,7 +21,7 @@ |
| |
| extern void __init pxa27x_map_io(void); |
| extern void __init pxa27x_init_irq(void); |
| -extern int __init pxa27x_set_pwrmode(unsigned int mode); |
| +extern int pxa27x_set_pwrmode(unsigned int mode); |
| extern void pxa27x_cpu_pm_enter(suspend_state_t state); |
| |
| #define pxa27x_handle_irq ichp_handle_irq |
| --- a/arch/arm/mach-pxa/pxa27x.c |
| +++ b/arch/arm/mach-pxa/pxa27x.c |
| @@ -242,7 +242,7 @@ static struct clk_lookup pxa27x_clkregs[ |
| */ |
| static unsigned int pwrmode = PWRMODE_SLEEP; |
| |
| -int __init pxa27x_set_pwrmode(unsigned int mode) |
| +int pxa27x_set_pwrmode(unsigned int mode) |
| { |
| switch (mode) { |
| case PWRMODE_SLEEP: |