Re: [pm-wip/cpufreq][PATCH 3/3] OMAP2+: cpufreq: do lateinit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Nishanth Menon <nm@xxxxxx> writes:

> Since we do module_init, cpufreq initializes before power late_init
> where many of the required data structures are registered. 

What exactly are the dependencies here?  The only thing I see is the
dependency on omap2_get_mpuss_device(), and those devices should be
created as a postcore_initcall.

If there are other dependencies, they're probably created a side effect
of your earlier patches where you moved stuff from the ->init hook
(which happens much later) into the initcall function.  Maybe that needs
a rethink?

> Move cpufreq init to late_initcall instead. Further CONFIG_CPU_FREQ on
> which the build depends is bool and does'nt support modules yet.
>
> Signed-off-by: Nishanth Menon <nm@xxxxxx>

If this works, it's only because of the link order defined by the
Makefile ordering since both are the same level of initcall.

When I move this driver to drivers/cpufreq, then the link order is less
obvious.

Kevin

> ---
>  arch/arm/mach-omap2/omap2plus-cpufreq.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/omap2plus-cpufreq.c b/arch/arm/mach-omap2/omap2plus-cpufreq.c
> index 2177381..07c2ab9 100644
> --- a/arch/arm/mach-omap2/omap2plus-cpufreq.c
> +++ b/arch/arm/mach-omap2/omap2plus-cpufreq.c
> @@ -273,5 +273,5 @@ static void __exit omap_cpufreq_exit(void)
>  
>  MODULE_DESCRIPTION("cpufreq driver for OMAP2PLUS SOCs");
>  MODULE_LICENSE("GPL");
> -module_init(omap_cpufreq_init);
> +late_initcall(omap_cpufreq_init);
>  module_exit(omap_cpufreq_exit);
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux