Re: [PATCH 2/6] irqdomain: add a new send_ipi() to irq_domain_ops

Jiang Liu
2015-09-23T16:44:40Z

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@imgtec.com>
> ---
> 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

> };
>
> extern struct irq_domain_ops irq_generic_chip_ops;
>