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