|
@@ -984,6 +984,23 @@ int irq_chip_set_affinity_parent(struct irq_data *data,
|
|
|
return -ENOSYS;
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * irq_chip_set_type_parent - Set IRQ type on the parent interrupt
|
|
|
+ * @data: Pointer to interrupt specific data
|
|
|
+ * @type: IRQ_TYPE_{LEVEL,EDGE}_* value - see include/linux/irq.h
|
|
|
+ *
|
|
|
+ * Conditional, as the underlying parent chip might not implement it.
|
|
|
+ */
|
|
|
+int irq_chip_set_type_parent(struct irq_data *data, unsigned int type)
|
|
|
+{
|
|
|
+ data = data->parent_data;
|
|
|
+
|
|
|
+ if (data->chip->irq_set_type)
|
|
|
+ return data->chip->irq_set_type(data, type);
|
|
|
+
|
|
|
+ return -ENOSYS;
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* irq_chip_retrigger_hierarchy - Retrigger an interrupt in hardware
|
|
|
* @data: Pointer to interrupt specific data
|