Re: [PATCH -next] dmaengine: sun4i: remove set but unused variable 'linear_mode'

From: Chen-Yu Tsai
Date: Tue Feb 04 2020 - 23:57:08 EST


Hi,

On Wed, Feb 5, 2020 at 12:43 PM YueHaibing <yuehaibing@xxxxxxxxxx> wrote:
>
> drivers/dma/sun4i-dma.c: In function sun4i_dma_prep_dma_cyclic:
> drivers/dma/sun4i-dma.c:672:24: warning:
> variable linear_mode set but not used [-Wunused-but-set-variable]
>
> commit ffc079a4accc ("dmaengine: sun4i: Add support for cyclic requests with dedicated DMA")
> involved this unused variable.
>
> Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
> Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx>
> ---
> drivers/dma/sun4i-dma.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/dma/sun4i-dma.c b/drivers/dma/sun4i-dma.c
> index bbc2bda..501cd44 100644
> --- a/drivers/dma/sun4i-dma.c
> +++ b/drivers/dma/sun4i-dma.c
> @@ -669,7 +669,7 @@ sun4i_dma_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t buf, size_t len,
> dma_addr_t src, dest;
> u32 endpoints;
> int nr_periods, offset, plength, i;
> - u8 ram_type, io_mode, linear_mode;
> + u8 ram_type, io_mode;
>
> if (!is_slave_direction(dir)) {
> dev_err(chan2dev(chan), "Invalid DMA direction\n");
> @@ -684,11 +684,9 @@ sun4i_dma_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t buf, size_t len,
>
> if (vchan->is_dedicated) {
> io_mode = SUN4I_DDMA_ADDR_MODE_IO;
> - linear_mode = SUN4I_DDMA_ADDR_MODE_LINEAR;
> ram_type = SUN4I_DDMA_DRQ_TYPE_SDRAM;
> } else {
> io_mode = SUN4I_NDMA_ADDR_MODE_IO;
> - linear_mode = SUN4I_NDMA_ADDR_MODE_LINEAR;
> ram_type = SUN4I_NDMA_DRQ_TYPE_SDRAM;
> }

I think it's better to actually use these values later when composing
the value for `endpoints`, as we do in sun4i_dma_prep_slave_sg().

The code currently works because SUN4I_DDMA_ADDR_MODE_LINEAR == 0.
However explicitly using the value makes the code more readable,
and doesn't require the reader to have implicit knowledge of default
values for parameters not specified in the composition of `endpoints`.

ChenYu