@@ -567,12 +567,11 @@ static struct dma_async_tx_descriptor *shdma_prep_sg(struct shdma_chan *schan,
struct scatterlist *sg;
struct shdma_desc *first = NULL, *new = NULL /* compiler... */;
LIST_HEAD(tx_list);
- int chunks = 0;
+ int chunks;
unsigned long irq_flags;
int i;
- for_each_sg(sgl, sg, sg_len, i)
- chunks += DIV_ROUND_UP(sg_dma_len(sg), schan->max_xfer_len);
+ chunks = sg_nents_for_dma(sgl, sg_len, schan->max_xfer_len);
/* Have to lock the whole loop to protect against concurrent release */
spin_lock_irqsave(&schan->chan_lock, irq_flags);
Instead of open coded variant let's use recently introduced helper. Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> --- drivers/dma/sh/shdma-base.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)