Thread (36 messages) flat view 36 messages, 6 authors, 2013-08-09

[PATCH 5/6] ARM: Tegra: start using cpufreq-cpu0 driver

From: Stephen Warren <hidden>
Date: 2013-08-07 17:53:20
Also in: linux-pm, lkml

On 08/07/2013 11:49 AM, Viresh Kumar wrote:
On 7 August 2013 23:16, Stephen Warren [off-list ref] wrote:
quoted
On 08/07/2013 08:46 AM, Viresh Kumar wrote:
quoted
cpufreq-cpu0 driver can be probed over DT only if a corresponding device node is
created for the SoC which wants to use it. Lets create a platform device for
cpufreq-cpu0 driver for Tegra.

Also it removes the Kconfig entry responsible to compiling tegra-cpufreq driver
and hence there will not be any conflicts between two cpufreq drivers.
quoted
diff --git a/arch/arm/mach-tegra/tegra.c b/arch/arm/mach-tegra/tegra.c
quoted
 static void __init tegra_dt_init(void)
 {
+     struct platform_device_info devinfo = { .name = "cpufreq-cpu0", };
      struct soc_device_attribute *soc_dev_attr;
      struct soc_device *soc_dev;
      struct device *parent = NULL;

      tegra_clocks_apply_init_table();
+     platform_device_register_full(&devinfo);
This seems awfully like going back to board files. Shouldn't something
that binds to the CPU nodes register the cpufreq device automatically,
based on the CPU's compatible value?
This link has got some information why we can't have a node for cpufreq
or a compatibility value..

http://permalink.gmane.org/gmane.linux.kernel.cpufreq/9018
That link only describes why we shouldn't have a dedicated compatible
value for cpufreq. I certainly agree with that. However, I think it's
reasonable that whatever code binds to:

	compatible = "arm,cortex-a9";

... should instantiate any virtual devices that relate to the CPU.

Doing so would be similar to how the Tegra I2S driver instantiates the
internal struct device that ASoC needs for the PCM/DMA device, rather
than having board-dt-tegra20.c do it, like it would have done in
board-file days.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help