History

dmaengine: dw_dma: fix endianess for DT xlate function

As reported by Wu Fengguang's build robot tracking sparse warnings, the dma_spec arguments in the dw_dma_xlate are already byte swapped on little-endian platforms and must not get swapped again. This code is currently not used anywhere, but will be used in Linux 3.10 when the ARM SPEAr platform starts using the generic DMA DT binding.

Arnd Bergmann committed 13 years ago

Commit f73bb9b1 parent 8bb96601 file · +3 −3Browse files

Unified · Split

drivers/dma/dw_dmac.c+3−3
@@ -1276,9 +1276,9 @@ static struct dma_chan *dw_dma_xlate(struct of_phandle_args *dma_spec, · 1275 unmodified lines
12761276 if (dma_spec->args_count != 3)
12771277 return NULL;
12781278
1279− fargs.req = be32_to_cpup(dma_spec->args+0);
1280− fargs.src = be32_to_cpup(dma_spec->args+1);
1281− fargs.dst = be32_to_cpup(dma_spec->args+2);
1279+ fargs.req = dma_spec->args[0];
1280+ fargs.src = dma_spec->args[1];
1281+ fargs.dst = dma_spec->args[2];
12821282
12831283 if (WARN_ON(fargs.req >= DW_DMA_MAX_NR_REQUESTS ||
12841284 fargs.src >= dw->nr_masters ||