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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux