Skip to content

Commit

Permalink
ARM: 6048/1: ARM: iop3xx: register PMU IRQs during board initialisation
Browse files Browse the repository at this point in the history
This patch adds an initcall for the iop3xx platforms so that they
register their PMU IRQS with the PMU framework in the Kernel.

Cc: Lennert Buytenhek <kernel@wantstofly.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Will Deacon authored and Russell King committed Apr 29, 2010
1 parent cc761be commit de4338f
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 0 deletions.
2 changes: 2 additions & 0 deletions arch/arm/plat-iop/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ obj-$(CONFIG_ARCH_IOP32X) += time.o
obj-$(CONFIG_ARCH_IOP32X) += io.o
obj-$(CONFIG_ARCH_IOP32X) += cp6.o
obj-$(CONFIG_ARCH_IOP32X) += adma.o
obj-$(CONFIG_ARCH_IOP32X) += pmu.o

# IOP33X
obj-$(CONFIG_ARCH_IOP33X) += gpio.o
Expand All @@ -23,6 +24,7 @@ obj-$(CONFIG_ARCH_IOP33X) += time.o
obj-$(CONFIG_ARCH_IOP33X) += io.o
obj-$(CONFIG_ARCH_IOP33X) += cp6.o
obj-$(CONFIG_ARCH_IOP33X) += adma.o
obj-$(CONFIG_ARCH_IOP33X) += pmu.o

# IOP13XX
obj-$(CONFIG_ARCH_IOP13XX) += cp6.o
Expand Down
40 changes: 40 additions & 0 deletions arch/arm/plat-iop/pmu.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/*
* PMU IRQ registration for the iop3xx xscale PMU families.
* Copyright (C) 2010 Will Deacon, ARM Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
*/

#include <linux/platform_device.h>
#include <asm/pmu.h>
#include <mach/irqs.h>

static struct resource pmu_resource = {
#ifdef CONFIG_ARCH_IOP32X
.start = IRQ_IOP32X_CORE_PMU,
.end = IRQ_IOP32X_CORE_PMU,
#endif
#ifdef CONFIG_ARCH_IOP33X
.start = IRQ_IOP33X_CORE_PMU,
.end = IRQ_IOP33X_CORE_PMU,
#endif
.flags = IORESOURCE_IRQ,
};

static struct platform_device pmu_device = {
.name = "arm-pmu",
.id = ARM_PMU_DEVICE_CPU,
.resource = &pmu_resource,
.num_resources = 1,
};

static int __init iop3xx_pmu_init(void)
{
platform_device_register(&pmu_device);
return 0;
}

arch_initcall(iop3xx_pmu_init);

0 comments on commit de4338f

Please sign in to comment.