]> git.itanic.dy.fi Git - linux-stable/commitdiff
dmaengine: dw-edma: Use DMA engine device debugfs subdirectory
authorSerge Semin <Sergey.Semin@baikalelectronics.ru>
Fri, 13 Jan 2023 17:14:00 +0000 (20:14 +0300)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 10 Feb 2023 23:15:23 +0000 (17:15 -0600)
Since all DW eDMA read and write channels are now installed in a framework
of a single DMA engine device, move all the DW eDMA-specific debugfs nodes
into a ready-to-use DMA-engine debugfs subdirectory. It's created during
the DMA-device registration and can be found in the dma_device.dbg_dev_root
field.

Link: https://lore.kernel.org/r/20230113171409.30470-19-Sergey.Semin@baikalelectronics.ru
Tested-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Acked-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/dw-edma/dw-edma-core.c
drivers/dma/dw-edma/dw-edma-core.h
drivers/dma/dw-edma/dw-edma-v0-core.c
drivers/dma/dw-edma/dw-edma-v0-core.h
drivers/dma/dw-edma/dw-edma-v0-debugfs.c
drivers/dma/dw-edma/dw-edma-v0-debugfs.h

index c3ecae4287d0eb54b05baddf40d0eeed69e4fc9b..58808bec414805e794c8870428d07e188fe48035 100644 (file)
@@ -1038,9 +1038,6 @@ int dw_edma_remove(struct dw_edma_chip *chip)
                list_del(&chan->vc.chan.device_node);
        }
 
-       /* Turn debugfs off */
-       dw_edma_v0_core_debugfs_off(dw);
-
        return 0;
 }
 EXPORT_SYMBOL_GPL(dw_edma_remove);
index b576a8fff45ad2473b5ed16c9794fa10f0d69938..e3ad3e372b554f9e1e30d42369d15e8350214731 100644 (file)
@@ -111,9 +111,6 @@ struct dw_edma {
        raw_spinlock_t                  lock;           /* Only for legacy */
 
        struct dw_edma_chip             *chip;
-#ifdef CONFIG_DEBUG_FS
-       struct dentry                   *debugfs;
-#endif /* CONFIG_DEBUG_FS */
 };
 
 struct dw_edma_sg {
index 77e6cfe52e0a320ca7b42dcd16cb368923ea4faf..66f296daac5a651aaa64502ece37ec816bb28704 100644 (file)
@@ -504,8 +504,3 @@ void dw_edma_v0_core_debugfs_on(struct dw_edma *dw)
 {
        dw_edma_v0_debugfs_on(dw);
 }
-
-void dw_edma_v0_core_debugfs_off(struct dw_edma *dw)
-{
-       dw_edma_v0_debugfs_off(dw);
-}
index 75aec6d31b210d043fdc5e669f0eaefab0bf6b90..ab96a1f480809af76b01e6f338bdaa5d4a39505b 100644 (file)
@@ -23,6 +23,5 @@ void dw_edma_v0_core_start(struct dw_edma_chunk *chunk, bool first);
 int dw_edma_v0_core_device_config(struct dw_edma_chan *chan);
 /* eDMA debug fs callbacks */
 void dw_edma_v0_core_debugfs_on(struct dw_edma *dw);
-void dw_edma_v0_core_debugfs_off(struct dw_edma *dw);
 
 #endif /* _DW_EDMA_V0_CORE_H */
index 70cdcef7cc61751d0328dadb8f6b956c147445f2..0745d9e7d259b1294e519744ced86dcdecbd7d7d 100644 (file)
@@ -270,7 +270,7 @@ static void dw_edma_debugfs_regs(struct dw_edma *dw)
        struct dentry *regs_dent;
        int nr_entries;
 
-       regs_dent = debugfs_create_dir(REGISTERS_STR, dw->debugfs);
+       regs_dent = debugfs_create_dir(REGISTERS_STR, dw->dma.dbg_dev_root);
 
        nr_entries = ARRAY_SIZE(debugfs_regs);
        dw_edma_debugfs_create_x32(dw, debugfs_regs, nr_entries, regs_dent);
@@ -284,17 +284,9 @@ void dw_edma_v0_debugfs_on(struct dw_edma *dw)
        if (!debugfs_initialized())
                return;
 
-       dw->debugfs = debugfs_create_dir(dw->name, NULL);
-
-       debugfs_create_u32("mf", 0444, dw->debugfs, &dw->chip->mf);
-       debugfs_create_u16("wr_ch_cnt", 0444, dw->debugfs, &dw->wr_ch_cnt);
-       debugfs_create_u16("rd_ch_cnt", 0444, dw->debugfs, &dw->rd_ch_cnt);
+       debugfs_create_u32("mf", 0444, dw->dma.dbg_dev_root, &dw->chip->mf);
+       debugfs_create_u16("wr_ch_cnt", 0444, dw->dma.dbg_dev_root, &dw->wr_ch_cnt);
+       debugfs_create_u16("rd_ch_cnt", 0444, dw->dma.dbg_dev_root, &dw->rd_ch_cnt);
 
        dw_edma_debugfs_regs(dw);
 }
-
-void dw_edma_v0_debugfs_off(struct dw_edma *dw)
-{
-       debugfs_remove_recursive(dw->debugfs);
-       dw->debugfs = NULL;
-}
index 3391b86edf5ab76af4f61a44e1180dd67492a2f7..fb3342d97d6ded00f772ceffb0bc73d4a619ab80 100644 (file)
 
 #ifdef CONFIG_DEBUG_FS
 void dw_edma_v0_debugfs_on(struct dw_edma *dw);
-void dw_edma_v0_debugfs_off(struct dw_edma *dw);
 #else
 static inline void dw_edma_v0_debugfs_on(struct dw_edma *dw)
 {
 }
-
-static inline void dw_edma_v0_debugfs_off(struct dw_edma *dw)
-{
-}
 #endif /* CONFIG_DEBUG_FS */
 
 #endif /* _DW_EDMA_V0_DEBUG_FS_H */