|
@@ -168,12 +168,15 @@ static struct irq_chip arizona_irq_chip = {
|
|
|
.irq_set_wake = arizona_irq_set_wake,
|
|
.irq_set_wake = arizona_irq_set_wake,
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+static struct lock_class_key arizona_irq_lock_class;
|
|
|
|
|
+
|
|
|
static int arizona_irq_map(struct irq_domain *h, unsigned int virq,
|
|
static int arizona_irq_map(struct irq_domain *h, unsigned int virq,
|
|
|
irq_hw_number_t hw)
|
|
irq_hw_number_t hw)
|
|
|
{
|
|
{
|
|
|
struct arizona *data = h->host_data;
|
|
struct arizona *data = h->host_data;
|
|
|
|
|
|
|
|
irq_set_chip_data(virq, data);
|
|
irq_set_chip_data(virq, data);
|
|
|
|
|
+ irq_set_lockdep_class(virq, &arizona_irq_lock_class);
|
|
|
irq_set_chip_and_handler(virq, &arizona_irq_chip, handle_simple_irq);
|
|
irq_set_chip_and_handler(virq, &arizona_irq_chip, handle_simple_irq);
|
|
|
irq_set_nested_thread(virq, 1);
|
|
irq_set_nested_thread(virq, 1);
|
|
|
irq_set_noprobe(virq);
|
|
irq_set_noprobe(virq);
|