diff options
author | Arnd Bergmann <arnd@arndb.de> | 2011-10-31 14:11:34 +0100 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2011-10-31 14:11:34 +0100 |
commit | 09fa31a322c8f03871a741cd1d26e5ca04aacbbd (patch) | |
tree | acdad13d7c332978a91231c4f34b6320a1c7ceb6 /arch/arm/include/asm/hardware/gic.h | |
parent | 2b228e8cf33dbdd323dd4a05a973c6bd45c44133 (diff) | |
parent | f37a53cc5d8a8fb199e41386d125d8c2ed9e54ef (diff) |
Merge branch 'dt/gic' into highbank/soc
Conflicts:
arch/arm/Kconfig
Diffstat (limited to 'arch/arm/include/asm/hardware/gic.h')
-rw-r--r-- | arch/arm/include/asm/hardware/gic.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/arch/arm/include/asm/hardware/gic.h b/arch/arm/include/asm/hardware/gic.h index 435d3f86c708..3e91f22046f5 100644 --- a/arch/arm/include/asm/hardware/gic.h +++ b/arch/arm/include/asm/hardware/gic.h @@ -33,19 +33,32 @@ #define GIC_DIST_SOFTINT 0xf00 #ifndef __ASSEMBLY__ +#include <linux/irqdomain.h> +struct device_node; + extern void __iomem *gic_cpu_base_addr; extern struct irq_chip gic_arch_extn; -void gic_init(unsigned int, unsigned int, void __iomem *, void __iomem *); +void gic_init(unsigned int, int, void __iomem *, void __iomem *); +int gic_of_init(struct device_node *node, struct device_node *parent); void gic_secondary_init(unsigned int); void gic_cascade_irq(unsigned int gic_nr, unsigned int irq); void gic_raise_softirq(const struct cpumask *mask, unsigned int irq); -void gic_enable_ppi(unsigned int); struct gic_chip_data { - unsigned int irq_offset; void __iomem *dist_base; void __iomem *cpu_base; +#ifdef CONFIG_CPU_PM + u32 saved_spi_enable[DIV_ROUND_UP(1020, 32)]; + u32 saved_spi_conf[DIV_ROUND_UP(1020, 16)]; + u32 saved_spi_target[DIV_ROUND_UP(1020, 4)]; + u32 __percpu *saved_ppi_enable; + u32 __percpu *saved_ppi_conf; +#endif +#ifdef CONFIG_IRQ_DOMAIN + struct irq_domain domain; +#endif + unsigned int gic_irqs; }; #endif |