The right way to do it is to use the existing API by exposing the
inverter (there are existing examples in the tree, using the
hierarchical model)...
A much simpler version can be written in a few minutes, see below...
Can something like that be used if the parent domain is not
hierarchical (i.e. does not provide alloc(), but provides map()
instead)?
No. This definitely relies on the parent being hierarchical, as that's
exactly what it was designed for the first place.
Is supporting hierarchical API now mandatory for kernel irqchips?
If yes, then perhaps you can at least document it somewhere?
E.g. declare irq_domain.map() as deprecated?
If no, then I'd like to discuss a solution for irq_inverter that can work for non-hierarchical case.
Nikita