diff options
author | Arnd Bergmann <arnd@arndb.de> | 2011-12-06 15:23:35 +0100 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2011-12-06 15:23:35 +0100 |
commit | 3642a0a2c7d2d1949988d0fd004a8039c1f3d02f (patch) | |
tree | e687c88b1b66ad51a6a6c529f7f328f2d3b625fa /arch/arm/common/gic.c | |
parent | Merge branches 'drivers/macb-gem' and 'drivers/pxa-gpio' into next/drivers (diff) | |
parent | ARM: mx28evk: set a initial clock rate for saif (diff) | |
download | linux-3642a0a2c7d2d1949988d0fd004a8039c1f3d02f.tar.xz linux-3642a0a2c7d2d1949988d0fd004a8039c1f3d02f.zip |
Merge branch 'mxs/saif' into next/drivers
Conflicts:
drivers/net/ethernet/cadence/Kconfig
Diffstat (limited to 'arch/arm/common/gic.c')
-rw-r--r-- | arch/arm/common/gic.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/arch/arm/common/gic.c b/arch/arm/common/gic.c index 0e6ae470c94f..410a546060a2 100644 --- a/arch/arm/common/gic.c +++ b/arch/arm/common/gic.c @@ -526,7 +526,8 @@ static void __init gic_pm_init(struct gic_chip_data *gic) sizeof(u32)); BUG_ON(!gic->saved_ppi_conf); - cpu_pm_register_notifier(&gic_notifier_block); + if (gic == &gic_data[0]) + cpu_pm_register_notifier(&gic_notifier_block); } #else static void __init gic_pm_init(struct gic_chip_data *gic) @@ -581,13 +582,16 @@ void __init gic_init(unsigned int gic_nr, int irq_start, * For primary GICs, skip over SGIs. * For secondary GICs, skip over PPIs, too. */ + domain->hwirq_base = 32; if (gic_nr == 0) { gic_cpu_base_addr = cpu_base; - domain->hwirq_base = 16; - if (irq_start > 0) - irq_start = (irq_start & ~31) + 16; - } else - domain->hwirq_base = 32; + + if ((irq_start & 31) > 0) { + domain->hwirq_base = 16; + if (irq_start != -1) + irq_start = (irq_start & ~31) + 16; + } + } /* * Find out how many interrupts are supported. |