From: Barry Song <song.bao.hua@xxxxxxxxxxxxx> -v3: added Acked-by of Greg Kroah-Hartman and Bjorn Helgaas, thanks! refined commit log with respect to Bjorn's comments Hi Thomas & Marc, Would you please handle this series? Thanks! -v2: extract common code for msi_irqs sysfs populate/destory from PCI to MSI core, platform_device can directly reuse common code; https://lore.kernel.org/lkml/20210812105341.51657-1-21cnbao@xxxxxxxxx/ -v1: https://lore.kernel.org/lkml/20210811105020.12980-1-song.bao.hua@xxxxxxxxxxxxx/ Just like pci devices have msi_irqs which can be used by userspace irq affinity tools or applications to bind irqs, platform devices also widely support msi irqs. For platform devices, for example ARM SMMU, userspaces also care about its msi irqs as applications can know the mapping between devices and irqs and then make smarter decision on handling irq affinity. For example, for SVA mode, it is better to pin io page fault to the numa node applications are running on. Otherwise, io page fault will get a remote page from the node iopf happens rather than from the node applications are running on. The first patch extracts the sysfs populate/destory code from PCI to MSI core. The 2nd patch lets platform-msi export msi_irqs entry so that userspace can know the mapping between devices and irqs for platform devices. Barry Song (2): genirq/msi: Extract common sysfs populate entries to MSI core from PCI platform-msi: Add ABI to show msi_irqs of platform devices Documentation/ABI/testing/sysfs-bus-platform | 14 +++ drivers/base/platform-msi.c | 10 ++ drivers/pci/msi.c | 124 ++----------------------- include/linux/msi.h | 4 + kernel/irq/msi.c | 134 +++++++++++++++++++++++++++ 5 files changed, 171 insertions(+), 115 deletions(-) -- 1.8.3.1