]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: OMAP3: Beagle: fix OPP customization and initcall ordering
authorKevin Hilman <khilman@ti.com>
Mon, 22 Oct 2012 18:08:27 +0000 (11:08 -0700)
committerKevin Hilman <khilman@ti.com>
Mon, 22 Oct 2012 23:01:42 +0000 (16:01 -0700)
commit449c0fc4ebe8994d2a28cf8a29da53c87aece2c3
tree5ee6aa3df3055e1f4cc3cdf4e7182b1b1232e5d6
parentf6561194b2a5dbb9b0df8d5cb476550f2f4a10cd
ARM: OMAP3: Beagle: fix OPP customization and initcall ordering

After commit 350a551c1ffaebc83f3e209b269eec7258d284e5 (ARM: OMAP2+:
PM: MPU DVFS: use generic CPU device for MPU-SS), OPPs are registered
using an existing CPU device, not the omap_device for MPU-SS.

First, fix the board file to use get_cpu_device() as required by the
above commit, otherwise custom OPPs will be added to the wrong device.

Second, the board files OPP init is called from the its init_machine
method, and the generic CPU devices are not yet created when
init_machine is run.  Therefore OPP initialization will fail.  To fix,
use a device_initcall() for the board file's OPP customization, and
make the device_initcall board-specific by using a machine_is check.

Reported-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
arch/arm/mach-omap2/board-omap3beagle.c