Re: [PATCH 00/21] add and use devm_irq_of_parse_and_map()

From: Andreas Larsson
Date: Mon Jun 16 2014 - 06:02:45 EST


On 2014-06-16 10:36, Nikita Yushchenko wrote:
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.

You have already added the needed empty devm_irq_dispose_mapping in include/linux/irqdomain.h.

Note that the IRQ_DOMAIN *can* be used under SPARC (GPIO_GRGPIO is one example that selects it), but it is not used at the top level so to speak. There should not be a SPARC specific empty version of devm_irq_dispose_mapping - CONF_IRQ_DOMAIN or not takes care of that.


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?

The drivers that I know of off hand is not necessarily SPARC only. Some are currently only found in SPARC environments, but that could change in the future. I personally don't see a problem with using devm_of_parse_and_map solution as long as there is a SPARC-specific one as discussed above.

Best regards,
Andreas Larsson
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/