diff options
Diffstat (limited to 'drivers/dma/mmp_pdma.c')
-rw-r--r-- | drivers/dma/mmp_pdma.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/drivers/dma/mmp_pdma.c b/drivers/dma/mmp_pdma.c index 14da1f403edf..c26699f9c4df 100644 --- a/drivers/dma/mmp_pdma.c +++ b/drivers/dma/mmp_pdma.c @@ -5,6 +5,7 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ +#include <linux/err.h> #include <linux/module.h> #include <linux/init.h> #include <linux/types.h> @@ -617,10 +618,8 @@ static int mmp_pdma_control(struct dma_chan *dchan, enum dma_ctrl_cmd cmd, else if (maxburst == 32) chan->dcmd |= DCMD_BURST32; - if (cfg) { - chan->dir = cfg->direction; - chan->drcmr = cfg->slave_id; - } + chan->dir = cfg->direction; + chan->drcmr = cfg->slave_id; chan->dev_addr = addr; break; default: @@ -712,7 +711,7 @@ static void dma_do_tasklet(unsigned long data) } } -static int __devexit mmp_pdma_remove(struct platform_device *op) +static int mmp_pdma_remove(struct platform_device *op) { struct mmp_pdma_device *pdev = platform_get_drvdata(op); @@ -720,7 +719,7 @@ static int __devexit mmp_pdma_remove(struct platform_device *op) return 0; } -static int __devinit mmp_pdma_chan_init(struct mmp_pdma_device *pdev, +static int mmp_pdma_chan_init(struct mmp_pdma_device *pdev, int idx, int irq) { struct mmp_pdma_phy *phy = &pdev->phy[idx]; @@ -764,7 +763,7 @@ static struct of_device_id mmp_pdma_dt_ids[] = { }; MODULE_DEVICE_TABLE(of, mmp_pdma_dt_ids); -static int __devinit mmp_pdma_probe(struct platform_device *op) +static int mmp_pdma_probe(struct platform_device *op) { struct mmp_pdma_device *pdev; const struct of_device_id *of_id; @@ -782,9 +781,9 @@ static int __devinit mmp_pdma_probe(struct platform_device *op) if (!iores) return -EINVAL; - pdev->base = devm_request_and_ioremap(pdev->dev, iores); - if (!pdev->base) - return -EADDRNOTAVAIL; + pdev->base = devm_ioremap_resource(pdev->dev, iores); + if (IS_ERR(pdev->base)) + return PTR_ERR(pdev->base); of_id = of_match_device(mmp_pdma_dt_ids, pdev->dev); if (of_id) @@ -865,7 +864,7 @@ static struct platform_driver mmp_pdma_driver = { }, .id_table = mmp_pdma_id_table, .probe = mmp_pdma_probe, - .remove = __devexit_p(mmp_pdma_remove), + .remove = mmp_pdma_remove, }; module_platform_driver(mmp_pdma_driver); |