Nishanth Menon <nm@xxxxxx> writes: > On 08:29-20130329, Viresh Kumar wrote: >> On Fri, Mar 29, 2013 at 3:22 AM, Nishanth Menon <nm@xxxxxx> wrote: >> > As multi-platform build is being adopted by more and more ARM platforms, >> > initcall function should be used very carefully. For example, when >> > CONFIG_ARM_OMAP2PLUS_CPUFREQ is built in the kernel, omap_cpufreq_init() >> > will be called on all the platforms to initialize omap-cpufreq driver. >> > >> > Further, on OMAP, we now use Soc generic cpufreq-cpu0 driver using device >> > tree entries. To allow cpufreq-cpu0 and omap-cpufreq drivers to co-exist >> > for OMAP in a single image, we need to ensure the following: >> > 1. With device tree boot, we use cpufreq-cpu0 >> > 2. With non device tree boot, we use omap-cpufreq >> > >> > In the case of (1), we will have cpu OPPs and regulator registered >> > as part of the device tree nodes, to ensure that omap-cpufreq >> > and cpufreq-cpu0 don't conflict in managing the frequency of the >> > same CPU, we should not permit omap-cpufreq to be probed. >> > >> > In the case of (2), we will not have the cpufreq-cpu0 device, hence >> > only omap-cpufreq will be active. >> > >> > To eliminate this undesired these effects, we change omap-cpufreq >> > driver to have it instantiated as a platform_driver and register >> > "omap-cpufreq" device only when booted without device tree nodes on >> > OMAP platforms. >> > >> > This allows the following: >> > a) Will only run on platforms that create the platform_device >> > "omap-cpufreq". >> > b) Since the platform_device is registered only when device tree nodes >> > are *not* populated, omap-cpufreq driver does not conflict with >> > the usage of cpufreq-cpu0 driver which is used on OMAP platforms when >> > device tree nodes are present. >> > >> > Inspired by commit 5553f9e26f6f49a93ba732fd222eac6973a4cf35 >> > (cpufreq: instantiate cpufreq-cpu0 as a platform_driver) >> > >> > Cc: Kevin Hilman <khilman@xxxxxxxxxx> >> > Cc: Rajendra Nayak <rnayak@xxxxxx> >> > Cc: Paul Walmsley <paul@xxxxxxxxx> >> > Cc: "Benoît Cousson" <b-cousson@xxxxxx> >> > Cc: Jon Hunter <jon-hunter@xxxxxx> >> > Cc: Keerthy <j-keerthy@xxxxxx> >> > Cc: Santosh Shilimkar <santosh.shilimkar@xxxxxx> >> > Cc: Shawn Guo <shawn.guo@xxxxxxxxxx> >> > [robherring2@xxxxxxxxx: reported conflict of omap-cpufreq vs other >> > driver in an non-device tree supported boot] >> > Reported-by: Rob Herring <robherring2@xxxxxxxxx> >> > Signed-off-by: Nishanth Menon <nm@xxxxxx> >> > --- >> > Changes in V3: >> > - converted to platform_driver to >> > address https://patchwork.kernel.org/patch/2303491/ as well >> > - modified CC list. >> > V2: https://patchwork.kernel.org/patch/2303491/ >> > V1: https://patchwork.kernel.org/patch/2273681/ >> > >> > arch/arm/mach-omap2/pm.c | 9 +++++++++ >> > drivers/cpufreq/omap-cpufreq.c | 19 ++++++++++++++----- >> > 2 files changed, 23 insertions(+), 5 deletions(-) >> >> For cpufreq core: >> >> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> > Since this patch could be merged independently to help multi-platform > builds, While the omap community discusses: > http://marc.info/?t=136450773400004&r=1&w=2 > http://marc.info/?t=136370325600009&r=1&w=2&n=7 > > To enable cpufreq-cpu0 driver in DT mode, I wonder if we could queue this up > for 3.10. Yes, I've queued this one for v3.10. Working on getting some pull requests out to Tony today. Kevin -- 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