On 2020/2/5 12:56, Chen-Yu Tsai wrote: > 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`. Thanks, will send v2. > > ChenYu > > . >