diff options
author | Qais Yousef <qais.yousef@imgtec.com> | 2015-12-08 08:20:21 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2016-02-25 04:56:57 -0500 |
commit | 34dc1ae101018dbb50e1d04e88aa89052802a7db (patch) | |
tree | 7e172db19f41c859963a815dd53aa64974870bb6 | |
parent | f9bce791ae2a1a10a965b30427f5507c1a77669f (diff) |
genirq: Add send_ipi callbacks to irq_chip
Introduce the new callbacks which can be used by the core code to implement a
generic IPI send mechanism.
Signed-off-by: Qais Yousef <qais.yousef@imgtec.com>
Cc: <jason@lakedaemon.net>
Cc: <marc.zyngier@arm.com>
Cc: <jiang.liu@linux.intel.com>
Cc: <ralf@linux-mips.org>
Cc: <linux-mips@linux-mips.org>
Cc: <lisa.parratt@imgtec.com>
Cc: Qais Yousef <qsyousef@gmail.com>
Link: http://lkml.kernel.org/r/1449580830-23652-11-git-send-email-qais.yousef@imgtec.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r-- | include/linux/irq.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/irq.h b/include/linux/irq.h index 10273dce058a..3b3a5b817469 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h | |||
@@ -347,6 +347,8 @@ static inline irq_hw_number_t irqd_to_hwirq(struct irq_data *d) | |||
347 | * @irq_get_irqchip_state: return the internal state of an interrupt | 347 | * @irq_get_irqchip_state: return the internal state of an interrupt |
348 | * @irq_set_irqchip_state: set the internal state of a interrupt | 348 | * @irq_set_irqchip_state: set the internal state of a interrupt |
349 | * @irq_set_vcpu_affinity: optional to target a vCPU in a virtual machine | 349 | * @irq_set_vcpu_affinity: optional to target a vCPU in a virtual machine |
350 | * @ipi_send_single: send a single IPI to destination cpus | ||
351 | * @ipi_send_mask: send an IPI to destination cpus in cpumask | ||
350 | * @flags: chip specific flags | 352 | * @flags: chip specific flags |
351 | */ | 353 | */ |
352 | struct irq_chip { | 354 | struct irq_chip { |
@@ -391,6 +393,9 @@ struct irq_chip { | |||
391 | 393 | ||
392 | int (*irq_set_vcpu_affinity)(struct irq_data *data, void *vcpu_info); | 394 | int (*irq_set_vcpu_affinity)(struct irq_data *data, void *vcpu_info); |
393 | 395 | ||
396 | void (*ipi_send_single)(struct irq_data *data, unsigned int cpu); | ||
397 | void (*ipi_send_mask)(struct irq_data *data, const struct cpumask *dest); | ||
398 | |||
394 | unsigned long flags; | 399 | unsigned long flags; |
395 | }; | 400 | }; |
396 | 401 | ||