aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/common/gic.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2011-12-05 18:20:17 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2011-12-05 18:20:17 -0500
commit742eaa6a6e356a16788ce6530271de89bc4f8fb5 (patch)
tree12fc040daab06ac796c61c1d92bfad9bb054d1c1 /arch/arm/common/gic.c
parentba8bb18a03f8c7508565c385576a5431a4ad804a (diff)
parentae72fd588a2b302222769b44775912b83f0785eb (diff)
Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into devel-stable
Conflicts: arch/arm/common/gic.c arch/arm/plat-omap/include/plat/common.h
Diffstat (limited to 'arch/arm/common/gic.c')
-rw-r--r--arch/arm/common/gic.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/arch/arm/common/gic.c b/arch/arm/common/gic.c
index a1feb6b4f9f5..b2dc2dd7f1df 100644
--- a/arch/arm/common/gic.c
+++ b/arch/arm/common/gic.c
@@ -612,7 +612,8 @@ static void __init gic_pm_init(struct gic_chip_data *gic)
612 sizeof(u32)); 612 sizeof(u32));
613 BUG_ON(!gic->saved_ppi_conf); 613 BUG_ON(!gic->saved_ppi_conf);
614 614
615 cpu_pm_register_notifier(&gic_notifier_block); 615 if (gic == &gic_data[0])
616 cpu_pm_register_notifier(&gic_notifier_block);
616} 617}
617#else 618#else
618static void __init gic_pm_init(struct gic_chip_data *gic) 619static void __init gic_pm_init(struct gic_chip_data *gic)
@@ -696,12 +697,14 @@ void __init gic_init_bases(unsigned int gic_nr, int irq_start,
696 * For primary GICs, skip over SGIs. 697 * For primary GICs, skip over SGIs.
697 * For secondary GICs, skip over PPIs, too. 698 * For secondary GICs, skip over PPIs, too.
698 */ 699 */
700 domain->hwirq_base = 32;
699 if (gic_nr == 0) { 701 if (gic_nr == 0) {
700 domain->hwirq_base = 16; 702 if ((irq_start & 31) > 0) {
701 if (irq_start > 0) 703 domain->hwirq_base = 16;
702 irq_start = (irq_start & ~31) + 16; 704 if (irq_start != -1)
703 } else 705 irq_start = (irq_start & ~31) + 16;
704 domain->hwirq_base = 32; 706 }
707 }
705 708
706 /* 709 /*
707 * Find out how many interrupts are supported. 710 * Find out how many interrupts are supported.