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

Qais Yousef
2015-09-24T08:12:56Z

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@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
>

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