Re: [PATCH] cpufreq: qcom-kryo: Fix section mismatch warning

From: Nick Desaulniers
Date: Wed Sep 19 2018 - 13:41:21 EST


On Tue, Sep 18, 2018 at 11:05 PM Nathan Chancellor
<natechancellor@xxxxxxxxx> wrote:
>
> WARNING: vmlinux.o(.text+0x8aa424): Section mismatch in reference from
> the function qcom_cpufreq_kryo_probe() to the function
> .init.text:qcom_cpufreq_kryo_get_msm_id()
> The function qcom_cpufreq_kryo_probe() references
> the function __init qcom_cpufreq_kryo_get_msm_id().
> This is often because qcom_cpufreq_kryo_probe lacks a __init
> annotation or the annotation of qcom_cpufreq_kryo_get_msm_id is wrong.
>
> Remove the '__init' from qcom_cpufreq_kryo_get_msm_id so that there is
> no more mismatch warning.
>
> Fixes: 46e2856b8e18 ("cpufreq: Add Kryo CPU scaling driver")
> Reported-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
> Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx>
> ---
> drivers/cpufreq/qcom-cpufreq-kryo.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/cpufreq/qcom-cpufreq-kryo.c b/drivers/cpufreq/qcom-cpufreq-kryo.c
> index a1830fa25fc5..4ea0afc8964c 100644
> --- a/drivers/cpufreq/qcom-cpufreq-kryo.c
> +++ b/drivers/cpufreq/qcom-cpufreq-kryo.c
> @@ -44,7 +44,7 @@ enum _msm8996_version {
>
> struct platform_device *cpufreq_dt_pdev, *kryo_cpufreq_pdev;
>
> -static enum _msm8996_version __init qcom_cpufreq_kryo_get_msm_id(void)
> +static enum _msm8996_version qcom_cpufreq_kryo_get_msm_id(void)

Similar to https://lkml.org/lkml/2018/9/19/816, I think the probe
function should be marked __init instead.

> {
> size_t len;
> u32 *msm_id;
> --
> 2.19.0
>


--
Thanks,
~Nick Desaulniers