Commit 6a022984 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:
 "Two genirq fixes, plus an irqchip driver error handling fix"

* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  genirq: Respect IRQCHIP_SKIP_SET_WAKE in irq_chip_set_wake_parent()
  genirq: Initialize request_mutex if CONFIG_SPARSE_IRQ=n
  irqchip/irq-ls1x: Missing error code in ls1x_intc_of_init()
parents 54c63a75 325aa195
...@@ -130,6 +130,7 @@ static int __init ls1x_intc_of_init(struct device_node *node, ...@@ -130,6 +130,7 @@ static int __init ls1x_intc_of_init(struct device_node *node,
NULL); NULL);
if (!priv->domain) { if (!priv->domain) {
pr_err("ls1x-irq: cannot add IRQ domain\n"); pr_err("ls1x-irq: cannot add IRQ domain\n");
err = -ENOMEM;
goto out_iounmap; goto out_iounmap;
} }
......
...@@ -1449,6 +1449,10 @@ int irq_chip_set_vcpu_affinity_parent(struct irq_data *data, void *vcpu_info) ...@@ -1449,6 +1449,10 @@ int irq_chip_set_vcpu_affinity_parent(struct irq_data *data, void *vcpu_info)
int irq_chip_set_wake_parent(struct irq_data *data, unsigned int on) int irq_chip_set_wake_parent(struct irq_data *data, unsigned int on)
{ {
data = data->parent_data; data = data->parent_data;
if (data->chip->flags & IRQCHIP_SKIP_SET_WAKE)
return 0;
if (data->chip->irq_set_wake) if (data->chip->irq_set_wake)
return data->chip->irq_set_wake(data, on); return data->chip->irq_set_wake(data, on);
......
...@@ -558,6 +558,7 @@ int __init early_irq_init(void) ...@@ -558,6 +558,7 @@ int __init early_irq_init(void)
alloc_masks(&desc[i], node); alloc_masks(&desc[i], node);
raw_spin_lock_init(&desc[i].lock); raw_spin_lock_init(&desc[i].lock);
lockdep_set_class(&desc[i].lock, &irq_desc_lock_class); lockdep_set_class(&desc[i].lock, &irq_desc_lock_class);
mutex_init(&desc[i].request_mutex);
desc_set_defaults(i, &desc[i], node, NULL, NULL); desc_set_defaults(i, &desc[i], node, NULL, NULL);
} }
return arch_early_irq_init(); return arch_early_irq_init();
......
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