diff options
author | Jon Hunter <jon-hunter@ti.com> | 2012-10-19 14:27:34 -0500 |
---|---|---|
committer | Benoit Cousson <benoit.cousson@linaro.org> | 2013-04-09 00:21:04 +0200 |
commit | eeb7ba21ab7e84597e4156cb35f85839c20d66a1 (patch) | |
tree | 486cd6945a74e6de216168f8706fccc2d545ef29 | |
parent | 72f6f957530321ba868fce65f19ad718c64b9366 (diff) | |
download | op-kernel-dev-eeb7ba21ab7e84597e4156cb35f85839c20d66a1.zip op-kernel-dev-eeb7ba21ab7e84597e4156cb35f85839c20d66a1.tar.gz |
ARM: OMAP2+: Prepare for device-tree PMU support
If device-tree is present, then do not create the PMU device from within
the OMAP specific PMU code. This is required to allow device-tree to
create the PMU device from the PMU device-tree node.
PMU is not currently supported for OMAP4430 (due to a dependency on
having a cross-trigger interface driver) and so ensure that this
indicated on boot with or without device-tree.
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
-rw-r--r-- | arch/arm/mach-omap2/pmu.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/arch/arm/mach-omap2/pmu.c b/arch/arm/mach-omap2/pmu.c index 9debf82..9ace8ea 100644 --- a/arch/arm/mach-omap2/pmu.c +++ b/arch/arm/mach-omap2/pmu.c @@ -11,6 +11,8 @@ * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. */ +#include <linux/of.h> + #include <asm/pmu.h> #include "soc.h" @@ -63,6 +65,15 @@ static int __init omap_init_pmu(void) unsigned oh_num; char **oh_names; + /* XXX Remove this check when the CTI driver is available */ + if (cpu_is_omap443x()) { + pr_info("ARM PMU: not yet supported on OMAP4430 due to missing CTI driver\n"); + return 0; + } + + if (of_have_populated_dt()) + return 0; + /* * To create an ARM-PMU device the following HWMODs * are required for the various OMAP2+ devices. @@ -75,9 +86,6 @@ static int __init omap_init_pmu(void) if (cpu_is_omap443x()) { oh_num = ARRAY_SIZE(omap4430_pmu_oh_names); oh_names = omap4430_pmu_oh_names; - /* XXX Remove the next two lines when CTI driver available */ - pr_info("ARM PMU: not yet supported on OMAP4430 due to missing CTI driver\n"); - return 0; } else if (cpu_is_omap34xx() || cpu_is_omap44xx()) { oh_num = ARRAY_SIZE(omap3_pmu_oh_names); oh_names = omap3_pmu_oh_names; |