[PATCH] mfd: twl-core: Fix section annotations on {,un}protect_pm_master

From: Nathan Chancellor
Date: Wed Oct 17 2018 - 13:15:02 EST

When building the kernel with Clang, the following section mismatch
warning appears:

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

Remove the __init annotation on the *protect_pm_master functions so
there is no more mismatch.

Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx>

Alternatively, I suppose that twl_probe could be marked as __init but
I'm not sure if deferral is possible or not (which I believe would cause
issues but not sure). I went with this more conservative approache but
I'm happy to respin if necessary.


drivers/mfd/twl-core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c
index 4be3d239da9e..299016bc46d9 100644
--- a/drivers/mfd/twl-core.c
+++ b/drivers/mfd/twl-core.c
@@ -979,7 +979,7 @@ add_children(struct twl4030_platform_data *pdata, unsigned irq_base,
* letting it generate the right frequencies for USB, MADC, and
* other purposes.
-static inline int __init protect_pm_master(void)
+static inline int protect_pm_master(void)
int e = 0;

@@ -988,7 +988,7 @@ static inline int __init protect_pm_master(void)
return e;

-static inline int __init unprotect_pm_master(void)
+static inline int unprotect_pm_master(void)
int e = 0;