SPARC does not use OF_IRQ and has a different implementation of
irq_of_parse_and_map than the one in drivers/of/irq.c. All code
converted from irq_of_parse_and_map to devm_irq_of_parse_and_map in this
patch set will be unlinkable for SPARC. This includes SPI in general and
many drivers that are used for SPARC (of which several are currently
only used on SPARC platforms).
Can this be fixed by adding a copy of devm_irq_of_parse_and_map() to
arch/sparc/kernel/of_device_common.c ?
Not a copy of the version in irq.c no. On SPARC, IRQ_DOMAIN is not
selected in general.
However, there is no technical problem that I can see with having a
SPARC version of devm_irq_of_parse_and_map that just calls
irq_of_parse_and_map as there are no mappings that needs to be disposed
of. (The empty dummy for irq_dispose_mapping is used if any
irq_dispose_mapping calls are made from drivers).
Ok, I will post an updated patchset that adds sparc
devm_irq_of_parse_and_map() that just calls irq_of_parse_and_map(), and
devm_irq_dispose_mapping() that does nothing.
Also, you mentioned that some drivers that my original patchset touches
are sparc-only? Then, maybe better not convert these to devm_? Could
you please give a list of such drivers?