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

From: Viresh Kumar
Date: Wed Sep 19 2018 - 17:50:45 EST


On 19-09-18, 14:45, Nick Desaulniers wrote:
> On Wed, Sep 19, 2018 at 11:22 AM 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.
> >
> > Add the '__init' annotation to qcom_cpufreq_kryo_probe so that there is
> > no more mismatch warning.
>
> I wonder why this driver has an exit function marked __init rather
> than __exit?

I think it was just a mistake.

> Does that mean it gets cleaned up after kernel init, and
> so on unloading of the driver, the kernel jumps to unmapped memory?

The __init/exit sections are only useful when the driver is builtin
and so there is no unloading. Yeah, if you would have tried to call
shutdown for the kernel, it may have crashed or something. I don't
know.

> Does this patch now produce a warning for `qcom_cpufreq_kryo_driver`
> referencing `qcom_cpufreq_kryo_probe`?

Why should it ? It doesn't though.

--
viresh