Message ID | 20181017171322.13572-1-natechancellor@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mfd: twl-core: Fix section annotations on {,un}protect_pm_master | expand |
On Wed, 17 Oct 2018, Nathan Chancellor wrote: > 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 > .init.text:unprotect_pm_master() > 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@gmail.com> > --- > > 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. > > Thanks! > > drivers/mfd/twl-core.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Applied for v4.21, thanks.
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;
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 .init.text:unprotect_pm_master() 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@gmail.com> --- 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. Thanks! drivers/mfd/twl-core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)