Re: [PATCH] dmaengine: remove debugfs #ifdef

From: Laurent Pinchart
Date: Mon Sep 20 2021 - 08:47:54 EST


Hi Arnd,

Thank you for the patch.

On Mon, Sep 20, 2021 at 02:20:07PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> The ptdma driver has added debugfs support, but this fails to build
> when debugfs is disabled:
>
> drivers/dma/ptdma/ptdma-debugfs.c: In function 'ptdma_debugfs_setup':
> drivers/dma/ptdma/ptdma-debugfs.c:93:54: error: 'struct dma_device' has no member named 'dbg_dev_root'
> 93 | debugfs_create_file("info", 0400, pt->dma_dev.dbg_dev_root, pt,
> | ^
> drivers/dma/ptdma/ptdma-debugfs.c:96:55: error: 'struct dma_device' has no member named 'dbg_dev_root'
> 96 | debugfs_create_file("stats", 0400, pt->dma_dev.dbg_dev_root, pt,
> | ^
> drivers/dma/ptdma/ptdma-debugfs.c:102:52: error: 'struct dma_device' has no member named 'dbg_dev_root'
> 102 | debugfs_create_dir("q", pt->dma_dev.dbg_dev_root);
> | ^
>
> Remove the #ifdef in the header, as this only saves a few bytes,
> but would require ugly #ifdefs in each driver using it.
> Simplify the other user while we're at it.
>
> Fixes: e2fb2e2a33fa ("dmaengine: ptdma: Add debugfs entries for PTDMA")
> Fixes: 26cf132de6f7 ("dmaengine: Create debug directories for DMA devices")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> drivers/dma/xilinx/xilinx_dpdma.c | 15 +--------------
> include/linux/dmaengine.h | 2 --
> 2 files changed, 1 insertion(+), 16 deletions(-)
>
> diff --git a/drivers/dma/xilinx/xilinx_dpdma.c b/drivers/dma/xilinx/xilinx_dpdma.c
> index b280a53e8570..ce5c66e6897d 100644
> --- a/drivers/dma/xilinx/xilinx_dpdma.c
> +++ b/drivers/dma/xilinx/xilinx_dpdma.c
> @@ -271,9 +271,6 @@ struct xilinx_dpdma_device {
> /* -----------------------------------------------------------------------------
> * DebugFS
> */
> -
> -#ifdef CONFIG_DEBUG_FS
> -

It's only a few bytes of data in struct dma_device, but a bit more in
.text here. Is the simplification really required in this driver ?

> #define XILINX_DPDMA_DEBUGFS_READ_MAX_SIZE 32
> #define XILINX_DPDMA_DEBUGFS_UINT16_MAX_STR "65535"
>
> @@ -299,7 +296,7 @@ struct xilinx_dpdma_debugfs_request {
>
> static void xilinx_dpdma_debugfs_desc_done_irq(struct xilinx_dpdma_chan *chan)
> {
> - if (chan->id == dpdma_debugfs.chan_id)
> + if (IS_ENABLED(CONFIG_DEBUG_FS) && chan->id == dpdma_debugfs.chan_id)
> dpdma_debugfs.xilinx_dpdma_irq_done_count++;
> }
>
> @@ -462,16 +459,6 @@ static void xilinx_dpdma_debugfs_init(struct xilinx_dpdma_device *xdev)
> dev_err(xdev->dev, "Failed to create debugfs testcase file\n");
> }
>
> -#else
> -static void xilinx_dpdma_debugfs_init(struct xilinx_dpdma_device *xdev)
> -{
> -}
> -
> -static void xilinx_dpdma_debugfs_desc_done_irq(struct xilinx_dpdma_chan *chan)
> -{
> -}
> -#endif /* CONFIG_DEBUG_FS */
> -
> /* -----------------------------------------------------------------------------
> * I/O Accessors
> */
> diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
> index e5c2c9e71bf1..9000f3ffce8b 100644
> --- a/include/linux/dmaengine.h
> +++ b/include/linux/dmaengine.h
> @@ -944,10 +944,8 @@ struct dma_device {
> void (*device_issue_pending)(struct dma_chan *chan);
> void (*device_release)(struct dma_device *dev);
> /* debugfs support */
> -#ifdef CONFIG_DEBUG_FS
> void (*dbg_summary_show)(struct seq_file *s, struct dma_device *dev);
> struct dentry *dbg_dev_root;
> -#endif
> };
>
> static inline int dmaengine_slave_config(struct dma_chan *chan,

--
Regards,

Laurent Pinchart