diff options
-rw-r--r-- | drivers/irqchip/irq-gic.c | 6 | ||||
-rw-r--r-- | include/linux/irqchip/arm-gic.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c index ee7c50312066..d0e948084eaf 100644 --- a/drivers/irqchip/irq-gic.c +++ b/drivers/irqchip/irq-gic.c | |||
@@ -453,6 +453,12 @@ static void gic_cpu_init(struct gic_chip_data *gic) | |||
453 | writel_relaxed(1, base + GIC_CPU_CTRL); | 453 | writel_relaxed(1, base + GIC_CPU_CTRL); |
454 | } | 454 | } |
455 | 455 | ||
456 | void gic_cpu_if_down(void) | ||
457 | { | ||
458 | void __iomem *cpu_base = gic_data_cpu_base(&gic_data[0]); | ||
459 | writel_relaxed(0, cpu_base + GIC_CPU_CTRL); | ||
460 | } | ||
461 | |||
456 | #ifdef CONFIG_CPU_PM | 462 | #ifdef CONFIG_CPU_PM |
457 | /* | 463 | /* |
458 | * Saves the GIC distributor registers during suspend or idle. Must be called | 464 | * Saves the GIC distributor registers during suspend or idle. Must be called |
diff --git a/include/linux/irqchip/arm-gic.h b/include/linux/irqchip/arm-gic.h index 3e203eb23cc7..0e5d9ecdb2b6 100644 --- a/include/linux/irqchip/arm-gic.h +++ b/include/linux/irqchip/arm-gic.h | |||
@@ -66,6 +66,7 @@ extern struct irq_chip gic_arch_extn; | |||
66 | void gic_init_bases(unsigned int, int, void __iomem *, void __iomem *, | 66 | void gic_init_bases(unsigned int, int, void __iomem *, void __iomem *, |
67 | u32 offset, struct device_node *); | 67 | u32 offset, struct device_node *); |
68 | void gic_cascade_irq(unsigned int gic_nr, unsigned int irq); | 68 | void gic_cascade_irq(unsigned int gic_nr, unsigned int irq); |
69 | void gic_cpu_if_down(void); | ||
69 | 70 | ||
70 | static inline void gic_init(unsigned int nr, int start, | 71 | static inline void gic_init(unsigned int nr, int start, |
71 | void __iomem *dist , void __iomem *cpu) | 72 | void __iomem *dist , void __iomem *cpu) |