Re: [PATCH] arch_topology: Fix section miss match warning due to free_raw_capacity()

From: Sodagudi Prasad
Date: Thu Oct 05 2017 - 21:40:30 EST


On 2017-09-25 16:20, Viresh Kumar wrote:
On 25-09-17, 15:51, Prasad Sodagudi wrote:
Remove the __init annotation from free_raw_capacity() to avoid
the following warning.

The function init_cpu_capacity_callback() references the
function __init free_raw_capacity().
WARNING: vmlinux.o(.text+0x425cc0): Section mismatch in reference
from the function init_cpu_capacity_callback() to the function
.init.text:free_raw_capacity().

Signed-off-by: Prasad Sodagudi <psodagud@xxxxxxxxxxxxxx>
---
drivers/base/arch_topology.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c
index 41be9ff..3da53cc 100644
--- a/drivers/base/arch_topology.c
+++ b/drivers/base/arch_topology.c
@@ -96,7 +96,7 @@ static int register_cpu_capacity_sysctl(void)
static u32 capacity_scale;
static u32 *raw_capacity;

-static int __init free_raw_capacity(void)
+static int free_raw_capacity(void)
{
kfree(raw_capacity);
raw_capacity = NULL;

So we need the __init thing only when cpufreq support isn't there in the kernel
and I am not sure if we want to add more ifdef hackery in the declaration of
free_raw_capacity().

Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Hi Greg,

Can you please consider this patch ?

-Thanks, Prasad
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
Linux Foundation Collaborative Project