genirq/msi: Consolidate MSI descriptor data
authorThomas Gleixner <tglx@linutronix.de>
Fri, 10 Dec 2021 22:19:12 +0000 (23:19 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 16 Dec 2021 21:16:40 +0000 (22:16 +0100)
All non PCI/MSI usage variants have data structures in struct msi_desc with
only one member: xxx_index. PCI/MSI has a entry_nr member.

Add a common msi_index member to struct msi_desc so all implementations can
share it which allows further consolidation.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Michael Kelley <mikelley@microsoft.com>
Tested-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20211210221814.350967317@linutronix.de
include/linux/msi.h

index cdf0d09..ee8fe49 100644 (file)
@@ -143,6 +143,7 @@ struct ti_sci_inta_msi_desc {
  *                     address or data changes
  * @write_msi_msg_data:        Data parameter for the callback.
  *
+ * @msi_index: Index of the msi descriptor
  * @pci:       [PCI]       PCI speficic msi descriptor data
  * @platform:  [platform]  Platform device specific msi descriptor data
  * @fsl_mc:    [fsl-mc]    FSL MC device specific msi descriptor data
@@ -163,6 +164,7 @@ struct msi_desc {
        void (*write_msi_msg)(struct msi_desc *entry, void *data);
        void *write_msi_msg_data;
 
+       u16                             msi_index;
        union {
                struct pci_msi_desc             pci;
                struct platform_msi_desc        platform;