diff options
Diffstat (limited to 'drivers/dma')
-rw-r--r-- | drivers/dma/fsldma.c | 17 | ||||
-rw-r--r-- | drivers/dma/ppc4xx/adma.c | 2 | ||||
-rw-r--r-- | drivers/dma/shdma.c | 5 | ||||
-rw-r--r-- | drivers/dma/timb_dma.c | 2 |
4 files changed, 17 insertions, 9 deletions
diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c index 1fdf180cbd67..8088b14ba5f7 100644 --- a/drivers/dma/fsldma.c +++ b/drivers/dma/fsldma.c | |||
@@ -1315,7 +1315,7 @@ static int __devinit fsldma_of_probe(struct of_device *op, | |||
1315 | INIT_LIST_HEAD(&fdev->common.channels); | 1315 | INIT_LIST_HEAD(&fdev->common.channels); |
1316 | 1316 | ||
1317 | /* ioremap the registers for use */ | 1317 | /* ioremap the registers for use */ |
1318 | fdev->regs = of_iomap(op->node, 0); | 1318 | fdev->regs = of_iomap(op->dev.of_node, 0); |
1319 | if (!fdev->regs) { | 1319 | if (!fdev->regs) { |
1320 | dev_err(&op->dev, "unable to ioremap registers\n"); | 1320 | dev_err(&op->dev, "unable to ioremap registers\n"); |
1321 | err = -ENOMEM; | 1321 | err = -ENOMEM; |
@@ -1323,7 +1323,7 @@ static int __devinit fsldma_of_probe(struct of_device *op, | |||
1323 | } | 1323 | } |
1324 | 1324 | ||
1325 | /* map the channel IRQ if it exists, but don't hookup the handler yet */ | 1325 | /* map the channel IRQ if it exists, but don't hookup the handler yet */ |
1326 | fdev->irq = irq_of_parse_and_map(op->node, 0); | 1326 | fdev->irq = irq_of_parse_and_map(op->dev.of_node, 0); |
1327 | 1327 | ||
1328 | dma_cap_set(DMA_MEMCPY, fdev->common.cap_mask); | 1328 | dma_cap_set(DMA_MEMCPY, fdev->common.cap_mask); |
1329 | dma_cap_set(DMA_INTERRUPT, fdev->common.cap_mask); | 1329 | dma_cap_set(DMA_INTERRUPT, fdev->common.cap_mask); |
@@ -1345,7 +1345,7 @@ static int __devinit fsldma_of_probe(struct of_device *op, | |||
1345 | * of_platform_bus_remove(). Instead, we manually instantiate every DMA | 1345 | * of_platform_bus_remove(). Instead, we manually instantiate every DMA |
1346 | * channel object. | 1346 | * channel object. |
1347 | */ | 1347 | */ |
1348 | for_each_child_of_node(op->node, child) { | 1348 | for_each_child_of_node(op->dev.of_node, child) { |
1349 | if (of_device_is_compatible(child, "fsl,eloplus-dma-channel")) { | 1349 | if (of_device_is_compatible(child, "fsl,eloplus-dma-channel")) { |
1350 | fsl_dma_chan_probe(fdev, child, | 1350 | fsl_dma_chan_probe(fdev, child, |
1351 | FSL_DMA_IP_85XX | FSL_DMA_BIG_ENDIAN, | 1351 | FSL_DMA_IP_85XX | FSL_DMA_BIG_ENDIAN, |
@@ -1411,10 +1411,13 @@ static const struct of_device_id fsldma_of_ids[] = { | |||
1411 | }; | 1411 | }; |
1412 | 1412 | ||
1413 | static struct of_platform_driver fsldma_of_driver = { | 1413 | static struct of_platform_driver fsldma_of_driver = { |
1414 | .name = "fsl-elo-dma", | 1414 | .driver = { |
1415 | .match_table = fsldma_of_ids, | 1415 | .name = "fsl-elo-dma", |
1416 | .probe = fsldma_of_probe, | 1416 | .owner = THIS_MODULE, |
1417 | .remove = fsldma_of_remove, | 1417 | .of_match_table = fsldma_of_ids, |
1418 | }, | ||
1419 | .probe = fsldma_of_probe, | ||
1420 | .remove = fsldma_of_remove, | ||
1418 | }; | 1421 | }; |
1419 | 1422 | ||
1420 | /*----------------------------------------------------------------------------*/ | 1423 | /*----------------------------------------------------------------------------*/ |
diff --git a/drivers/dma/ppc4xx/adma.c b/drivers/dma/ppc4xx/adma.c index c6079fcca13f..fa98abe4686f 100644 --- a/drivers/dma/ppc4xx/adma.c +++ b/drivers/dma/ppc4xx/adma.c | |||
@@ -4944,12 +4944,12 @@ static const struct of_device_id ppc440spe_adma_of_match[] __devinitconst = { | |||
4944 | MODULE_DEVICE_TABLE(of, ppc440spe_adma_of_match); | 4944 | MODULE_DEVICE_TABLE(of, ppc440spe_adma_of_match); |
4945 | 4945 | ||
4946 | static struct of_platform_driver ppc440spe_adma_driver = { | 4946 | static struct of_platform_driver ppc440spe_adma_driver = { |
4947 | .match_table = ppc440spe_adma_of_match, | ||
4948 | .probe = ppc440spe_adma_probe, | 4947 | .probe = ppc440spe_adma_probe, |
4949 | .remove = __devexit_p(ppc440spe_adma_remove), | 4948 | .remove = __devexit_p(ppc440spe_adma_remove), |
4950 | .driver = { | 4949 | .driver = { |
4951 | .name = "PPC440SP(E)-ADMA", | 4950 | .name = "PPC440SP(E)-ADMA", |
4952 | .owner = THIS_MODULE, | 4951 | .owner = THIS_MODULE, |
4952 | .of_match_table = ppc440spe_adma_of_match, | ||
4953 | }, | 4953 | }, |
4954 | }; | 4954 | }; |
4955 | 4955 | ||
diff --git a/drivers/dma/shdma.c b/drivers/dma/shdma.c index a1727522343e..a2a519fd2a24 100644 --- a/drivers/dma/shdma.c +++ b/drivers/dma/shdma.c | |||
@@ -722,6 +722,10 @@ static void sh_dmae_chan_ld_cleanup(struct sh_dmae_chan *sh_chan, bool all) | |||
722 | { | 722 | { |
723 | while (__ld_cleanup(sh_chan, all)) | 723 | while (__ld_cleanup(sh_chan, all)) |
724 | ; | 724 | ; |
725 | |||
726 | if (all) | ||
727 | /* Terminating - forgive uncompleted cookies */ | ||
728 | sh_chan->completed_cookie = sh_chan->common.cookie; | ||
725 | } | 729 | } |
726 | 730 | ||
727 | static void sh_chan_xfer_ld_queue(struct sh_dmae_chan *sh_chan) | 731 | static void sh_chan_xfer_ld_queue(struct sh_dmae_chan *sh_chan) |
@@ -1188,6 +1192,7 @@ static struct platform_driver sh_dmae_driver = { | |||
1188 | .remove = __exit_p(sh_dmae_remove), | 1192 | .remove = __exit_p(sh_dmae_remove), |
1189 | .shutdown = sh_dmae_shutdown, | 1193 | .shutdown = sh_dmae_shutdown, |
1190 | .driver = { | 1194 | .driver = { |
1195 | .owner = THIS_MODULE, | ||
1191 | .name = "sh-dma-engine", | 1196 | .name = "sh-dma-engine", |
1192 | }, | 1197 | }, |
1193 | }; | 1198 | }; |
diff --git a/drivers/dma/timb_dma.c b/drivers/dma/timb_dma.c index 0172fa3c7a2b..a1bf77c1993f 100644 --- a/drivers/dma/timb_dma.c +++ b/drivers/dma/timb_dma.c | |||
@@ -188,7 +188,7 @@ static void __td_unmap_descs(struct timb_dma_desc *td_desc, bool single) | |||
188 | static int td_fill_desc(struct timb_dma_chan *td_chan, u8 *dma_desc, | 188 | static int td_fill_desc(struct timb_dma_chan *td_chan, u8 *dma_desc, |
189 | struct scatterlist *sg, bool last) | 189 | struct scatterlist *sg, bool last) |
190 | { | 190 | { |
191 | if (sg_dma_len(sg) > USHORT_MAX) { | 191 | if (sg_dma_len(sg) > USHRT_MAX) { |
192 | dev_err(chan2dev(&td_chan->chan), "Too big sg element\n"); | 192 | dev_err(chan2dev(&td_chan->chan), "Too big sg element\n"); |
193 | return -EINVAL; | 193 | return -EINVAL; |
194 | } | 194 | } |