mirror of
https://github.com/torvalds/linux.git
synced 2024-12-22 10:56:40 +00:00
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>
This commit is contained in:
parent
72f6f95753
commit
eeb7ba21ab
@ -11,6 +11,8 @@
|
|||||||
* the Free Software Foundation; either version 2 of the License, or
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*/
|
*/
|
||||||
|
#include <linux/of.h>
|
||||||
|
|
||||||
#include <asm/pmu.h>
|
#include <asm/pmu.h>
|
||||||
|
|
||||||
#include "soc.h"
|
#include "soc.h"
|
||||||
@ -63,6 +65,15 @@ static int __init omap_init_pmu(void)
|
|||||||
unsigned oh_num;
|
unsigned oh_num;
|
||||||
char **oh_names;
|
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
|
* To create an ARM-PMU device the following HWMODs
|
||||||
* are required for the various OMAP2+ devices.
|
* are required for the various OMAP2+ devices.
|
||||||
@ -75,9 +86,6 @@ static int __init omap_init_pmu(void)
|
|||||||
if (cpu_is_omap443x()) {
|
if (cpu_is_omap443x()) {
|
||||||
oh_num = ARRAY_SIZE(omap4430_pmu_oh_names);
|
oh_num = ARRAY_SIZE(omap4430_pmu_oh_names);
|
||||||
oh_names = 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()) {
|
} else if (cpu_is_omap34xx() || cpu_is_omap44xx()) {
|
||||||
oh_num = ARRAY_SIZE(omap3_pmu_oh_names);
|
oh_num = ARRAY_SIZE(omap3_pmu_oh_names);
|
||||||
oh_names = omap3_pmu_oh_names;
|
oh_names = omap3_pmu_oh_names;
|
||||||
|
Loading…
Reference in New Issue
Block a user