Re: [PATCH v5 4/5] Driver core: platform: Add devm_platform_get_irqs_affinity()

From: John Garry
Date: Wed Dec 09 2020 - 14:06:16 EST


On 09/12/2020 18:32, Greg KH wrote:
On Wed, Dec 02, 2020 at 06:36:56PM +0800, John Garry wrote:
Drivers for multi-queue platform devices may also want managed interrupts
for handling HW queue completion interrupts, so add support.


Hi Greg,

Why would a platform device want all of this? Shouldn't such a device
be on a "real" bus instead?

For this HW version, the device is on the system bus, directly addressable by the CPU.

Motivation is that I wanted to switch the HW completion queues to use managed interrupts.


What in-kernel driver needs this complexity? I can't take new apis
without a real user in the tree, sorry.

It's in the final patch in the series https://lore.kernel.org/linux-scsi/1606905417-183214-1-git-send-email-john.garry@xxxxxxxxxx/T/#m0df7e7cd6f0819b99aaeb6b7f8939ef1e17b8a83.

I don't anticipate a huge number of users of this API in future, as most multi-queue devices are PCI devices; so we could do the work of this API in the driver itself, but the preference was not to export genirq functions like irq_update_affinity_desc() or irq_create_affinity_masks(), and rather have a common helper in the core platform code.

Thanks,
John