dmaengine: hisi_dma: Remove some useless code
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Wed, 16 Jun 2021 20:34:38 +0000 (22:34 +0200)
committerVinod Koul <vkoul@kernel.org>
Wed, 28 Jul 2021 06:52:05 +0000 (12:22 +0530)
When using 'pcim_enable_device()', 'pci_alloc_irq_vectors()' is
auto-magically a managed function.

It is useless (but harmless) to record an action to explicitly call
'pci_free_irq_vectors()'.

So keep things simple, comment why and how these resources are freed, axe
some useless code and save some memory.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/4f8932e2d0d8d092bf60272511100030e013bc72.1623875508.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/hisi_dma.c

index a259ee0..c855a0e 100644 (file)
@@ -133,11 +133,6 @@ static inline void hisi_dma_update_bit(void __iomem *addr, u32 pos, bool val)
        writel_relaxed(tmp, addr);
 }
 
-static void hisi_dma_free_irq_vectors(void *data)
-{
-       pci_free_irq_vectors(data);
-}
-
 static void hisi_dma_pause_dma(struct hisi_dma_dev *hdma_dev, u32 index,
                               bool pause)
 {
@@ -544,6 +539,7 @@ static int hisi_dma_probe(struct pci_dev *pdev, const struct pci_device_id *id)
        pci_set_drvdata(pdev, hdma_dev);
        pci_set_master(pdev);
 
+       /* This will be freed by 'pcim_release()'. See 'pcim_enable_device()' */
        ret = pci_alloc_irq_vectors(pdev, HISI_DMA_MSI_NUM, HISI_DMA_MSI_NUM,
                                    PCI_IRQ_MSI);
        if (ret < 0) {
@@ -551,10 +547,6 @@ static int hisi_dma_probe(struct pci_dev *pdev, const struct pci_device_id *id)
                return ret;
        }
 
-       ret = devm_add_action_or_reset(dev, hisi_dma_free_irq_vectors, pdev);
-       if (ret)
-               return ret;
-
        dma_dev = &hdma_dev->dma_dev;
        dma_cap_set(DMA_MEMCPY, dma_dev->cap_mask);
        dma_dev->device_free_chan_resources = hisi_dma_free_chan_resources;