aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/irq.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/irq.h b/include/linux/irq.h
index 677482bd8b92..8badf34baf0f 100644
--- a/include/linux/irq.h
+++ b/include/linux/irq.h
@@ -322,6 +322,7 @@ static inline irq_hw_number_t irqd_to_hwirq(struct irq_data *d)
322 * @irq_release_resources: optional to release resources acquired with 322 * @irq_release_resources: optional to release resources acquired with
323 * irq_request_resources 323 * irq_request_resources
324 * @irq_compose_msi_msg: optional to compose message content for MSI 324 * @irq_compose_msi_msg: optional to compose message content for MSI
325 * @irq_write_msi_msg: optional to write message content for MSI
325 * @flags: chip specific flags 326 * @flags: chip specific flags
326 */ 327 */
327struct irq_chip { 328struct irq_chip {
@@ -359,6 +360,7 @@ struct irq_chip {
359 void (*irq_release_resources)(struct irq_data *data); 360 void (*irq_release_resources)(struct irq_data *data);
360 361
361 void (*irq_compose_msi_msg)(struct irq_data *data, struct msi_msg *msg); 362 void (*irq_compose_msi_msg)(struct irq_data *data, struct msi_msg *msg);
363 void (*irq_write_msi_msg)(struct irq_data *data, struct msi_msg *msg);
362 364
363 unsigned long flags; 365 unsigned long flags;
364}; 366};
@@ -459,6 +461,12 @@ extern int irq_chip_set_affinity_parent(struct irq_data *data,
459 bool force); 461 bool force);
460#endif 462#endif
461 463
464static inline void irq_chip_write_msi_msg(struct irq_data *data,
465 struct msi_msg *msg)
466{
467 data->chip->irq_write_msi_msg(data, msg);
468}
469
462/* Handling of unhandled and spurious interrupts: */ 470/* Handling of unhandled and spurious interrupts: */
463extern void note_interrupt(unsigned int irq, struct irq_desc *desc, 471extern void note_interrupt(unsigned int irq, struct irq_desc *desc,
464 irqreturn_t action_ret); 472 irqreturn_t action_ret);