Introduce the new functions to allow generic IPI send mechanism to be
used from arch and drivers code.

Signed-off-by: Qais Yousef <[email protected]>
---
 include/linux/irq.h | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/include/linux/irq.h b/include/linux/irq.h
index 9a5d1e11a08f..ee01e89c2140 100644
--- a/include/linux/irq.h
+++ b/include/linux/irq.h
@@ -381,6 +381,10 @@ static inline irq_hw_number_t irqd_to_hwirq(struct 
irq_data *d)
  * @irq_get_irqchip_state:     return the internal state of an interrupt
  * @irq_set_irqchip_state:     set the internal state of a interrupt
  * @irq_set_vcpu_affinity:     optional to target a vCPU in a virtual machine
+ * @ipi_send_single:   send a single IPI to destination cpus
+ * @ipi_send_mask:     send an IPI to destination cpus in cpumask
+ * @ipi_send_coproc_single:    send a single IPI to destination coprocessor
+ * @ipi_send_coproc_mask:      send an IPI to destination corocessors in 
ipi_mask
  * @flags:             chip specific flags
  */
 struct irq_chip {
@@ -425,6 +429,11 @@ struct irq_chip {
 
        int             (*irq_set_vcpu_affinity)(struct irq_data *data, void 
*vcpu_info);
 
+       void            (*ipi_send_single)(struct irq_data *data, unsigned int 
cpu);
+       void            (*ipi_send_mask)(struct irq_data *data, const struct 
cpumask *dest);
+       void            (*ipi_send_coproc_single)(struct irq_data *data, 
unsigned int cpu);
+       void            (*ipi_send_coproc_mask)(struct irq_data *data, const 
struct ipi_mask *dest);
+
        unsigned long   flags;
 };
 
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to