On 09/23/2015 05:44 PM, Jiang Liu wrote:
On 2015/9/23 22:49, Qais Yousef wrote:
For generic ipi core to use. It takes hwirq as its sole argument.
Hopefully this is generic enough? Should we pass something more abstract?
Signed-off-by: Qais Yousef <qais.yousef@xxxxxxxxxx>
---
include/linux/irqdomain.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h
index 9b3dc6c2a3cc..cef9e6158be0 100644
--- a/include/linux/irqdomain.h
+++ b/include/linux/irqdomain.h
@@ -92,6 +92,7 @@ struct irq_domain_ops {
void (*activate)(struct irq_domain *d, struct irq_data *irq_data);
void (*deactivate)(struct irq_domain *d, struct irq_data *irq_data);
#endif
+ void (*send_ipi)(irq_hw_number_t hwirq);
Hi Qais,
Instead of extending the irq_domain_ops, how about extending
irq_chip instead? If we treat IPI as a sort of irq controller, and
irq_chip is used to encapsulate all irq controller related operations,
and irq_domain_ops is mainly used to allocated resources instead of
operating corresponding hardware.
Thanks!
Gerry
Yes true. I was too focused on the reservation part so when it came to
sending the IPI it just felt natural to add it to irqdomain as it was
simple to implement like this!
Thanks,
Qais