On Monday 01 December 2014 19:41:47 Mark Brown wrote:
On Mon, Dec 01, 2014 at 08:39:51PM +0100, Lars-Peter Clausen wrote:
On 12/01/2014 07:48 PM, Timur Tabi wrote:
A quick grep shows the following drivers that call both functions:
Most of these drivers will probably work fine without irq_of_parse_and_map().
I'd also note that quite a few of these drivers look pretty legacy - a very large proportion are for old PowerPC hardware, though by no means all.
Right, from the times before we were using platform_device for probing device tree based devices and they had to map the interrupt themselves.
Some of them like arch/powerpc/sysdev/fsl_pci.c seem fine, this one is does not expect to ever destroy a device, and it only unmaps the interrupt if request_irq fails. drivers/ata/pata_mpc52xx.c on the other hand seems wrong in the same was as drivers/edac/mpc85xx_edac.c and sound/soc/fsl/fsl_ssi.c.
All other drivers that call irq_of_parse_and_map and pass that into devm_request_irq just never unmap, and their interrupts are already mapped by the platform code, so I think it's not even a leak.
Arnd