On Tue, Aug 17, 2010 at 6:31 AM, Will Deacon <will.deacon@xxxxxxx> wrote: > The Tegra Harmony board contains a dual-core Cortex-A9 and can therefore > make use of the hardware performance counters on the CPU. > > This patch fixes a typo in the PMU IRQ definitions and registers the > interrupts as a platform_device with the PMU framework. > > Cc: Colin Cross <ccross@xxxxxxxxxxx> > Cc: Linux Tegra Mailing List <linux-tegra@xxxxxxxxxxxxxxx> > Signed-off-by: Will Deacon <will.deacon@xxxxxxx> > --- > > This patch was taken against 2.6.36-rc1 but has not even been compile-tested > because of the following errors: > > arch/arm/mach-tegra/board-harmony.c: In function 'tegra_harmony_fixup': > arch/arm/mach-tegra/board-harmony.c:116: error: 'struct membank' has no member named 'node' > arch/arm/mach-tegra/board-harmony.c:116: error: implicit declaration of function 'PHYS_TO_NID' > arch/arm/mach-tegra/board-harmony.c:119: error: 'struct membank' has no member named 'node' > > arch/arm/mach-tegra/board-harmony.c | 22 ++++++++++++++++++++++ > arch/arm/mach-tegra/include/mach/irqs.h | 2 +- > 2 files changed, 23 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/mach-tegra/board-harmony.c b/arch/arm/mach-tegra/board-harmony.c > index 05e78dd..6c6a02b 100644 > --- a/arch/arm/mach-tegra/board-harmony.c > +++ b/arch/arm/mach-tegra/board-harmony.c > @@ -26,6 +26,7 @@ > #include <asm/mach-types.h> > #include <asm/mach/arch.h> > #include <asm/mach/time.h> > +#include <asm/pmu.h> > #include <asm/setup.h> > > #include <mach/iomap.h> > @@ -82,8 +83,29 @@ static struct platform_device debug_uart = { > }, > }; > > +static struct resource pmu_resources[] = { > + [0] = { > + .start = INT_CPU0_PMU_INTR, > + .end = INT_CPU0_PMU_INTR, > + .flags = IORESOURCE_IRQ, > + }, > + [1] = { > + .start = INT_CPU1_PMU_INTR, > + .end = INT_CPU1_PMU_INTR, > + .flags = IORESOURCE_IRQ, > + }, > +}; > + > +static struct platform_device pmu_device = { > + .name = "arm-pmu", > + .id = ARM_PMU_DEVICE_CPU, > + .num_resources = ARRAY_SIZE(pmu_resources), > + .resource = pmu_resources, > +}; > + > static struct platform_device *harmony_devices[] __initdata = { > &debug_uart, > + &pmu_device, > }; > > static void __init tegra_harmony_fixup(struct machine_desc *desc, > diff --git a/arch/arm/mach-tegra/include/mach/irqs.h b/arch/arm/mach-tegra/include/mach/irqs.h > index 20f640e..0a4ddc8 100644 > --- a/arch/arm/mach-tegra/include/mach/irqs.h > +++ b/arch/arm/mach-tegra/include/mach/irqs.h > @@ -87,7 +87,7 @@ > #define INT_SYS_STATS_MON (INT_SEC_BASE + 22) > #define INT_GPIO5 (INT_SEC_BASE + 23) > #define INT_CPU0_PMU_INTR (INT_SEC_BASE + 24) > -#define INT_CPU2_PMU_INTR (INT_SEC_BASE + 25) > +#define INT_CPU1_PMU_INTR (INT_SEC_BASE + 25) > #define INT_SEC_RES_26 (INT_SEC_BASE + 26) > #define INT_S_LINK1 (INT_SEC_BASE + 27) > #define INT_APB_DMA_COP (INT_SEC_BASE + 28) > -- > 1.6.3.3 > > Thanks Will, I added these to common.c in the linux-tegra tree, and to the harmony and ventana boards. -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html