]> git.baikalelectronics.ru Git - kernel.git/commitdiff
platform-msi: Use msi_desc::msi_index
authorThomas Gleixner <tglx@linutronix.de>
Fri, 10 Dec 2021 22:19:14 +0000 (23:19 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 16 Dec 2021 21:16:40 +0000 (22:16 +0100)
Use the common msi_index member and get rid of the pointless wrapper struct.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
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.413638645@linutronix.de
drivers/base/platform-msi.c
drivers/dma/qcom/hidma.c
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
drivers/mailbox/bcm-flexrm-mailbox.c
include/linux/msi.h

index 1487906ad5e08b1d2e549f641c70774f11c83c60..88bdc4b19916b268b98d8d7a96a2b992f13be6ec 100644 (file)
@@ -40,7 +40,7 @@ static irq_hw_number_t platform_msi_calc_hwirq(struct msi_desc *desc)
 {
        u32 devid = desc->dev->msi.data->platform_data->devid;
 
-       return (devid << (32 - DEV_ID_SHIFT)) | desc->platform.msi_index;
+       return (devid << (32 - DEV_ID_SHIFT)) | desc->msi_index;
 }
 
 static void platform_msi_set_desc(msi_alloc_info_t *arg, struct msi_desc *desc)
@@ -112,8 +112,8 @@ static void platform_msi_free_descs(struct device *dev, int base, int nvec)
        struct msi_desc *desc, *tmp;
 
        list_for_each_entry_safe(desc, tmp, dev_to_msi_list(dev), list) {
-               if (desc->platform.msi_index >= base &&
-                   desc->platform.msi_index < (base + nvec)) {
+               if (desc->msi_index >= base &&
+                   desc->msi_index < (base + nvec)) {
                        list_del(&desc->list);
                        free_msi_entry(desc);
                }
@@ -129,7 +129,7 @@ static int platform_msi_alloc_descs_with_irq(struct device *dev, int virq,
        if (!list_empty(dev_to_msi_list(dev))) {
                desc = list_last_entry(dev_to_msi_list(dev),
                                       struct msi_desc, list);
-               base = desc->platform.msi_index + 1;
+               base = desc->msi_index + 1;
        }
 
        for (i = 0; i < nvec; i++) {
@@ -137,7 +137,7 @@ static int platform_msi_alloc_descs_with_irq(struct device *dev, int virq,
                if (!desc)
                        break;
 
-               desc->platform.msi_index = base + i;
+               desc->msi_index = base + i;
                desc->irq = virq ? virq + i : 0;
 
                list_add_tail(&desc->list, dev_to_msi_list(dev));
index 23d64489d25ffefb2ff4e84c73e2da28aa0f4404..db8241bfe199415464368eb7686fba4751aaf5af 100644 (file)
@@ -666,7 +666,7 @@ static void hidma_write_msi_msg(struct msi_desc *desc, struct msi_msg *msg)
        struct device *dev = msi_desc_to_dev(desc);
        struct hidma_dev *dmadev = dev_get_drvdata(dev);
 
-       if (!desc->platform.msi_index) {
+       if (!desc->msi_index) {
                writel(msg->address_lo, dmadev->dev_evca + 0x118);
                writel(msg->address_hi, dmadev->dev_evca + 0x11C);
                writel(msg->data, dmadev->dev_evca + 0x120);
@@ -702,7 +702,7 @@ static int hidma_request_msi(struct hidma_dev *dmadev,
                return rc;
 
        for_each_msi_entry(desc, &pdev->dev) {
-               if (!desc->platform.msi_index)
+               if (!desc->msi_index)
                        dmadev->msi_virqbase = desc->irq;
 
                rc = devm_request_irq(&pdev->dev, desc->irq,
index 5ba9006ec5503f343947fe4beb3f781d26819d7f..beaf91bca30a04046343d8435b78f962ca487978 100644 (file)
@@ -3142,7 +3142,7 @@ static void arm_smmu_write_msi_msg(struct msi_desc *desc, struct msi_msg *msg)
        phys_addr_t doorbell;
        struct device *dev = msi_desc_to_dev(desc);
        struct arm_smmu_device *smmu = dev_get_drvdata(dev);
-       phys_addr_t *cfg = arm_smmu_msi_cfg[desc->platform.msi_index];
+       phys_addr_t *cfg = arm_smmu_msi_cfg[desc->msi_index];
 
        doorbell = (((u64)msg->address_hi) << 32) | msg->address_lo;
        doorbell &= MSI_CFG0_ADDR_MASK;
@@ -3183,7 +3183,7 @@ static void arm_smmu_setup_msis(struct arm_smmu_device *smmu)
        }
 
        for_each_msi_entry(desc, dev) {
-               switch (desc->platform.msi_index) {
+               switch (desc->msi_index) {
                case EVTQ_MSI_INDEX:
                        smmu->evtq.q.irq = desc->irq;
                        break;
index 78073ad1f2f1f54ecdcb32aa33723e4f521d2679..53a84733d8cc63af241fe3254d7596907258359b 100644 (file)
@@ -1484,7 +1484,7 @@ static void flexrm_mbox_msi_write(struct msi_desc *desc, struct msi_msg *msg)
 {
        struct device *dev = msi_desc_to_dev(desc);
        struct flexrm_mbox *mbox = dev_get_drvdata(dev);
-       struct flexrm_ring *ring = &mbox->rings[desc->platform.msi_index];
+       struct flexrm_ring *ring = &mbox->rings[desc->msi_index];
 
        /* Configure per-Ring MSI registers */
        writel_relaxed(msg->address_lo, ring->regs + RING_MSI_ADDR_LS);
@@ -1609,7 +1609,7 @@ static int flexrm_mbox_probe(struct platform_device *pdev)
 
        /* Save alloced IRQ numbers for each ring */
        for_each_msi_entry(desc, dev) {
-               ring = &mbox->rings[desc->platform.msi_index];
+               ring = &mbox->rings[desc->msi_index];
                ring->irq = desc->irq;
        }
 
index ee8fe49dedd1bb52c816e25122e42de3b6d3b219..1d85e954e130549e1efc49af12475ab1a7746538 100644 (file)
@@ -106,14 +106,6 @@ struct pci_msi_desc {
        };
 };
 
-/**
- * platform_msi_desc - Platform device specific msi descriptor data
- * @msi_index:         The index of the MSI descriptor for multi MSI
- */
-struct platform_msi_desc {
-       u16                             msi_index;
-};
-
 /**
  * fsl_mc_msi_desc - FSL-MC device specific msi descriptor data
  * @msi_index:         The index of the MSI descriptor
@@ -145,7 +137,6 @@ struct ti_sci_inta_msi_desc {
  *
  * @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
  * @inta:      [INTA]      TISCI based INTA specific msi descriptor data
  */
@@ -167,7 +158,6 @@ struct msi_desc {
        u16                             msi_index;
        union {
                struct pci_msi_desc             pci;
-               struct platform_msi_desc        platform;
                struct fsl_mc_msi_desc          fsl_mc;
                struct ti_sci_inta_msi_desc     inta;
        };