@@ -440,6 +440,7 @@ extern void irq_chip_ack_parent(struct irq_data *data);
extern void irq_chip_mask_parent(struct irq_data *data);
extern void irq_chip_unmask_parent(struct irq_data *data);
extern void irq_chip_eoi_parent(struct irq_data *data);
+extern int irq_chip_set_type_parent(struct irq_data *data, unsigned int type);
extern int irq_chip_set_affinity_parent(struct irq_data *data,
const struct cpumask *dest, bool force);
extern int irq_chip_retrigger_hierarchy(struct irq_data *data);
@@ -847,6 +847,16 @@ void irq_chip_eoi_parent(struct irq_data *data)
data->chip->irq_eoi(data);
}
+int irq_chip_set_type_parent(struct irq_data *data, unsigned int type)
+{
+ data = data->parent_data;
+
+ if (data->chip && data->chip->irq_set_type)
+ return data->chip->irq_set_type(data, type);
+
+ return -ENOSYS;
+}
+
int irq_chip_set_affinity_parent(struct irq_data *data,
const struct cpumask *dest, bool force)
{