|
|
@@ -254,6 +254,13 @@ static enum pin_config_param pcs_bias[] = {
|
|
|
PIN_CONFIG_BIAS_PULL_UP,
|
|
|
};
|
|
|
|
|
|
+/*
|
|
|
+ * This lock class tells lockdep that irqchip core that this single
|
|
|
+ * pinctrl can be in a different category than its parents, so it won't
|
|
|
+ * report false recursion.
|
|
|
+ */
|
|
|
+static struct lock_class_key pcs_lock_class;
|
|
|
+
|
|
|
/*
|
|
|
* REVISIT: Reads and writes could eventually use regmap or something
|
|
|
* generic. But at least on omaps, some mux registers are performance
|
|
|
@@ -1713,6 +1720,7 @@ static int pcs_irqdomain_map(struct irq_domain *d, unsigned int irq,
|
|
|
irq_set_chip_data(irq, pcs_soc);
|
|
|
irq_set_chip_and_handler(irq, &pcs->chip,
|
|
|
handle_level_irq);
|
|
|
+ irq_set_lockdep_class(irq, &pcs_lock_class);
|
|
|
irq_set_noprobe(irq);
|
|
|
|
|
|
return 0;
|