Hi Jan,

>
> I have some code hanging around here which implements IRQ sharing at
> skin level for an experimental in-house development over Xenomai. The
> code is smart enough to register an IRQ sharing trampoline handler only
> in case sharing is actually practiced for a specific line.


Could you be a bit more specific on what is meant by "...sharing is actually practiced for a specific line"?

To my knowledge, the matter is only about whether a certain device (driver) permits the earlier obtained irq line to be shared with other devices.
i.e. a driver [1] may succeed with an irq registration request in case another driver [2] already holds this line but both [1] and [2] have specified a SA_SHIRQ flag.


> I think it would be possible to break this out and generate a mainline
> patch. Anyway, the question for me is where to put this best, at skin
> (RTDM?) or at nucleus level? Both is technically feasible, but which way
> is desired? (I would vote for the nucleus...)


If we have a policy that all the drivers should be implemented on top of RTDM, then, it can be done there. If no (and I guess so), this feature should be common and I'd vote for the nucleus.
It seems to me now, that some parts of the hal will be involved (rthal_irq_request/release()) since the nucleus itself doesn't keep track of registered irqs.


>
> Jan
>

---
Best regards,
Dmitry

Reply via email to