Commit 34eddefe authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq fixes from Ingo Molnar:
 "A resume_irq() fix, plus a number of static declaration fixes"

* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  irqchip/digicolor: Drop unnecessary static
  irqchip/mips-cpu: Drop unnecessary static
  irqchip/gic/realview: Drop unnecessary static
  irqchip/mips-gic: Remove population of irq domain names
  genirq/PM: Properly pretend disabled state when force resuming interrupts
parents 0a6109fd acc80c39
...@@ -71,7 +71,7 @@ static void __init digicolor_set_gc(void __iomem *reg_base, unsigned irq_base, ...@@ -71,7 +71,7 @@ static void __init digicolor_set_gc(void __iomem *reg_base, unsigned irq_base,
static int __init digicolor_of_init(struct device_node *node, static int __init digicolor_of_init(struct device_node *node,
struct device_node *parent) struct device_node *parent)
{ {
static void __iomem *reg_base; void __iomem *reg_base;
unsigned int clr = IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN; unsigned int clr = IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN;
struct regmap *ucregs; struct regmap *ucregs;
int ret; int ret;
......
...@@ -43,7 +43,7 @@ static const struct of_device_id syscon_pldset_of_match[] = { ...@@ -43,7 +43,7 @@ static const struct of_device_id syscon_pldset_of_match[] = {
static int __init static int __init
realview_gic_of_init(struct device_node *node, struct device_node *parent) realview_gic_of_init(struct device_node *node, struct device_node *parent)
{ {
static struct regmap *map; struct regmap *map;
struct device_node *np; struct device_node *np;
const struct of_device_id *gic_id; const struct of_device_id *gic_id;
u32 pld1_ctrl; u32 pld1_ctrl;
......
...@@ -154,7 +154,7 @@ asmlinkage void __weak plat_irq_dispatch(void) ...@@ -154,7 +154,7 @@ asmlinkage void __weak plat_irq_dispatch(void)
static int mips_cpu_intc_map(struct irq_domain *d, unsigned int irq, static int mips_cpu_intc_map(struct irq_domain *d, unsigned int irq,
irq_hw_number_t hw) irq_hw_number_t hw)
{ {
static struct irq_chip *chip; struct irq_chip *chip;
if (hw < 2 && cpu_has_mipsmt) { if (hw < 2 && cpu_has_mipsmt) {
/* Software interrupts are used for MT/CMT IPI */ /* Software interrupts are used for MT/CMT IPI */
......
...@@ -950,7 +950,6 @@ static void __init __gic_init(unsigned long gic_base_addr, ...@@ -950,7 +950,6 @@ static void __init __gic_init(unsigned long gic_base_addr,
&gic_irq_domain_ops, NULL); &gic_irq_domain_ops, NULL);
if (!gic_irq_domain) if (!gic_irq_domain)
panic("Failed to add GIC IRQ domain"); panic("Failed to add GIC IRQ domain");
gic_irq_domain->name = "mips-gic-irq";
gic_ipi_domain = irq_domain_add_hierarchy(gic_irq_domain, gic_ipi_domain = irq_domain_add_hierarchy(gic_irq_domain,
IRQ_DOMAIN_FLAG_IPI_PER_CPU, IRQ_DOMAIN_FLAG_IPI_PER_CPU,
...@@ -959,7 +958,6 @@ static void __init __gic_init(unsigned long gic_base_addr, ...@@ -959,7 +958,6 @@ static void __init __gic_init(unsigned long gic_base_addr,
if (!gic_ipi_domain) if (!gic_ipi_domain)
panic("Failed to add GIC IPI domain"); panic("Failed to add GIC IPI domain");
gic_ipi_domain->name = "mips-gic-ipi";
irq_domain_update_bus_token(gic_ipi_domain, DOMAIN_BUS_IPI); irq_domain_update_bus_token(gic_ipi_domain, DOMAIN_BUS_IPI);
if (node && if (node &&
......
...@@ -170,21 +170,11 @@ static void irq_state_clr_disabled(struct irq_desc *desc) ...@@ -170,21 +170,11 @@ static void irq_state_clr_disabled(struct irq_desc *desc)
irqd_clear(&desc->irq_data, IRQD_IRQ_DISABLED); irqd_clear(&desc->irq_data, IRQD_IRQ_DISABLED);
} }
static void irq_state_set_disabled(struct irq_desc *desc)
{
irqd_set(&desc->irq_data, IRQD_IRQ_DISABLED);
}
static void irq_state_clr_masked(struct irq_desc *desc) static void irq_state_clr_masked(struct irq_desc *desc)
{ {
irqd_clear(&desc->irq_data, IRQD_IRQ_MASKED); irqd_clear(&desc->irq_data, IRQD_IRQ_MASKED);
} }
static void irq_state_set_masked(struct irq_desc *desc)
{
irqd_set(&desc->irq_data, IRQD_IRQ_MASKED);
}
static void irq_state_clr_started(struct irq_desc *desc) static void irq_state_clr_started(struct irq_desc *desc)
{ {
irqd_clear(&desc->irq_data, IRQD_IRQ_STARTED); irqd_clear(&desc->irq_data, IRQD_IRQ_STARTED);
......
...@@ -227,6 +227,16 @@ static inline bool irqd_has_set(struct irq_data *d, unsigned int mask) ...@@ -227,6 +227,16 @@ static inline bool irqd_has_set(struct irq_data *d, unsigned int mask)
return __irqd_to_state(d) & mask; return __irqd_to_state(d) & mask;
} }
static inline void irq_state_set_disabled(struct irq_desc *desc)
{
irqd_set(&desc->irq_data, IRQD_IRQ_DISABLED);
}
static inline void irq_state_set_masked(struct irq_desc *desc)
{
irqd_set(&desc->irq_data, IRQD_IRQ_MASKED);
}
#undef __irqd_to_state #undef __irqd_to_state
static inline void kstat_incr_irqs_this_cpu(struct irq_desc *desc) static inline void kstat_incr_irqs_this_cpu(struct irq_desc *desc)
......
...@@ -149,6 +149,8 @@ static void resume_irq(struct irq_desc *desc) ...@@ -149,6 +149,8 @@ static void resume_irq(struct irq_desc *desc)
/* Pretend that it got disabled ! */ /* Pretend that it got disabled ! */
desc->depth++; desc->depth++;
irq_state_set_disabled(desc);
irq_state_set_masked(desc);
resume: resume:
desc->istate &= ~IRQS_SUSPENDED; desc->istate &= ~IRQS_SUSPENDED;
__enable_irq(desc); __enable_irq(desc);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment