diff options
Diffstat (limited to 'drivers/dma')
-rw-r--r-- | drivers/dma/dw_dmac.c | 4 | ||||
-rw-r--r-- | drivers/dma/edma.c | 4 | ||||
-rw-r--r-- | drivers/dma/fsldma.c | 4 | ||||
-rw-r--r-- | drivers/dma/imx-dma.c | 137 | ||||
-rw-r--r-- | drivers/dma/imx-sdma.c | 1 | ||||
-rw-r--r-- | drivers/dma/intel_mid_dma.c | 4 | ||||
-rw-r--r-- | drivers/dma/ioat/dca.c | 23 | ||||
-rw-r--r-- | drivers/dma/ioat/pci.c | 2 | ||||
-rw-r--r-- | drivers/dma/iop-adma.c | 10 | ||||
-rw-r--r-- | drivers/dma/ipu/ipu_idmac.c | 3 | ||||
-rw-r--r-- | drivers/dma/ipu/ipu_irq.c | 3 | ||||
-rw-r--r-- | drivers/dma/mmp_pdma.c | 6 | ||||
-rw-r--r-- | drivers/dma/mmp_tdma.c | 6 | ||||
-rw-r--r-- | drivers/dma/mpc512x_dma.c | 4 | ||||
-rw-r--r-- | drivers/dma/mv_xor.c | 8 | ||||
-rw-r--r-- | drivers/dma/omap-dma.c | 5 | ||||
-rw-r--r-- | drivers/dma/pch_dma.c | 4 | ||||
-rw-r--r-- | drivers/dma/pl330.c | 2 | ||||
-rw-r--r-- | drivers/dma/ppc4xx/adma.c | 4 | ||||
-rw-r--r-- | drivers/dma/sa11x0-dma.c | 6 | ||||
-rw-r--r-- | drivers/dma/sh/shdma.c | 6 | ||||
-rw-r--r-- | drivers/dma/sirf-dma.c | 4 | ||||
-rw-r--r-- | drivers/dma/ste_dma40.c | 3 | ||||
-rw-r--r-- | drivers/dma/ste_dma40_ll.c | 2 | ||||
-rw-r--r-- | drivers/dma/tegra20-apb-dma.c | 4 | ||||
-rw-r--r-- | drivers/dma/timb_dma.c | 2 |
26 files changed, 150 insertions, 111 deletions
diff --git a/drivers/dma/dw_dmac.c b/drivers/dma/dw_dmac.c index c4b0eb3cde81..8f0b111af4de 100644 --- a/drivers/dma/dw_dmac.c +++ b/drivers/dma/dw_dmac.c @@ -1462,7 +1462,7 @@ static void dw_dma_off(struct dw_dma *dw) dw->chan[i].initialized = false; } -static int __devinit dw_probe(struct platform_device *pdev) +static int dw_probe(struct platform_device *pdev) { struct dw_dma_platform_data *pdata; struct resource *io; @@ -1700,7 +1700,7 @@ MODULE_DEVICE_TABLE(of, dw_dma_id_table); #endif static struct platform_driver dw_driver = { - .remove = __devexit_p(dw_remove), + .remove = dw_remove, .shutdown = dw_shutdown, .driver = { .name = "dw_dmac", diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c index 05aea3ce8506..232b4583ae93 100644 --- a/drivers/dma/edma.c +++ b/drivers/dma/edma.c @@ -545,7 +545,7 @@ static void edma_dma_init(struct edma_cc *ecc, struct dma_device *dma, INIT_LIST_HEAD(&dma->channels); } -static int __devinit edma_probe(struct platform_device *pdev) +static int edma_probe(struct platform_device *pdev) { struct edma_cc *ecc; int ret; @@ -598,7 +598,7 @@ static int __devexit edma_remove(struct platform_device *pdev) static struct platform_driver edma_driver = { .probe = edma_probe, - .remove = __devexit_p(edma_remove), + .remove = edma_remove, .driver = { .name = "edma-dma-engine", .owner = THIS_MODULE, diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c index 094437b9d823..4fc2980556ad 100644 --- a/drivers/dma/fsldma.c +++ b/drivers/dma/fsldma.c @@ -1221,7 +1221,7 @@ out_unwind: /* OpenFirmware Subsystem */ /*----------------------------------------------------------------------------*/ -static int __devinit fsl_dma_chan_probe(struct fsldma_device *fdev, +static int fsl_dma_chan_probe(struct fsldma_device *fdev, struct device_node *node, u32 feature, const char *compatible) { struct fsldma_chan *chan; @@ -1324,7 +1324,7 @@ static void fsl_dma_chan_remove(struct fsldma_chan *chan) kfree(chan); } -static int __devinit fsldma_of_probe(struct platform_device *op) +static int fsldma_of_probe(struct platform_device *op) { struct fsldma_device *fdev; struct device_node *child; diff --git a/drivers/dma/imx-dma.c b/drivers/dma/imx-dma.c index 7d9554cc4976..dbf0e6f8de8a 100644 --- a/drivers/dma/imx-dma.c +++ b/drivers/dma/imx-dma.c @@ -29,7 +29,6 @@ #include <asm/irq.h> #include <linux/platform_data/dma-imx.h> -#include <mach/hardware.h> #include "dmaengine.h" #define IMXDMA_MAX_CHAN_DESCRIPTORS 16 @@ -167,6 +166,12 @@ struct imxdma_channel { int slot_2d; }; +enum imx_dma_type { + IMX1_DMA, + IMX21_DMA, + IMX27_DMA, +}; + struct imxdma_engine { struct device *dev; struct device_dma_parameters dma_parms; @@ -177,7 +182,39 @@ struct imxdma_engine { spinlock_t lock; struct imx_dma_2d_config slots_2d[IMX_DMA_2D_SLOTS]; struct imxdma_channel channel[IMX_DMA_CHANNELS]; + enum imx_dma_type devtype; +}; + +static struct platform_device_id imx_dma_devtype[] = { + { + .name = "imx1-dma", + .driver_data = IMX1_DMA, + }, { + .name = "imx21-dma", + .driver_data = IMX21_DMA, + }, { + .name = "imx27-dma", + .driver_data = IMX27_DMA, + }, { + /* sentinel */ + } }; +MODULE_DEVICE_TABLE(platform, imx_dma_devtype); + +static inline int is_imx1_dma(struct imxdma_engine *imxdma) +{ + return imxdma->devtype == IMX1_DMA; +} + +static inline int is_imx21_dma(struct imxdma_engine *imxdma) +{ + return imxdma->devtype == IMX21_DMA; +} + +static inline int is_imx27_dma(struct imxdma_engine *imxdma) +{ + return imxdma->devtype == IMX27_DMA; +} static struct imxdma_channel *to_imxdma_chan(struct dma_chan *chan) { @@ -212,7 +249,9 @@ static unsigned imx_dmav1_readl(struct imxdma_engine *imxdma, unsigned offset) static int imxdma_hw_chain(struct imxdma_channel *imxdmac) { - if (cpu_is_mx27()) + struct imxdma_engine *imxdma = imxdmac->imxdma; + + if (is_imx27_dma(imxdma)) return imxdmac->hw_chaining; else return 0; @@ -267,7 +306,7 @@ static void imxdma_enable_hw(struct imxdma_desc *d) imx_dmav1_writel(imxdma, imx_dmav1_readl(imxdma, DMA_CCR(channel)) | CCR_CEN | CCR_ACRPT, DMA_CCR(channel)); - if ((cpu_is_mx21() || cpu_is_mx27()) && + if (!is_imx1_dma(imxdma) && d->sg && imxdma_hw_chain(imxdmac)) { d->sg = sg_next(d->sg); if (d->sg) { @@ -436,7 +475,7 @@ static irqreturn_t dma_irq_handler(int irq, void *dev_id) struct imxdma_engine *imxdma = dev_id; int i, disr; - if (cpu_is_mx21() || cpu_is_mx27()) + if (!is_imx1_dma(imxdma)) imxdma_err_handler(irq, dev_id); disr = imx_dmav1_readl(imxdma, DMA_DISR); @@ -961,35 +1000,32 @@ static void imxdma_issue_pending(struct dma_chan *chan) static int __init imxdma_probe(struct platform_device *pdev) { struct imxdma_engine *imxdma; + struct resource *res; int ret, i; + int irq, irq_err; - - imxdma = kzalloc(sizeof(*imxdma), GFP_KERNEL); + imxdma = devm_kzalloc(&pdev->dev, sizeof(*imxdma), GFP_KERNEL); if (!imxdma) return -ENOMEM; - if (cpu_is_mx1()) { - imxdma->base = MX1_IO_ADDRESS(MX1_DMA_BASE_ADDR); - } else if (cpu_is_mx21()) { - imxdma->base = MX21_IO_ADDRESS(MX21_DMA_BASE_ADDR); - } else if (cpu_is_mx27()) { - imxdma->base = MX27_IO_ADDRESS(MX27_DMA_BASE_ADDR); - } else { - kfree(imxdma); - return 0; - } + imxdma->devtype = pdev->id_entry->driver_data; + + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + imxdma->base = devm_request_and_ioremap(&pdev->dev, res); + if (!imxdma->base) + return -EADDRNOTAVAIL; + + irq = platform_get_irq(pdev, 0); + if (irq < 0) + return irq; imxdma->dma_ipg = devm_clk_get(&pdev->dev, "ipg"); - if (IS_ERR(imxdma->dma_ipg)) { - ret = PTR_ERR(imxdma->dma_ipg); - goto err_clk; - } + if (IS_ERR(imxdma->dma_ipg)) + return PTR_ERR(imxdma->dma_ipg); imxdma->dma_ahb = devm_clk_get(&pdev->dev, "ahb"); - if (IS_ERR(imxdma->dma_ahb)) { - ret = PTR_ERR(imxdma->dma_ahb); - goto err_clk; - } + if (IS_ERR(imxdma->dma_ahb)) + return PTR_ERR(imxdma->dma_ahb); clk_prepare_enable(imxdma->dma_ipg); clk_prepare_enable(imxdma->dma_ahb); @@ -997,18 +1033,25 @@ static int __init imxdma_probe(struct platform_device *pdev) /* reset DMA module */ imx_dmav1_writel(imxdma, DCR_DRST, DMA_DCR); - if (cpu_is_mx1()) { - ret = request_irq(MX1_DMA_INT, dma_irq_handler, 0, "DMA", imxdma); + if (is_imx1_dma(imxdma)) { + ret = devm_request_irq(&pdev->dev, irq, + dma_irq_handler, 0, "DMA", imxdma); if (ret) { dev_warn(imxdma->dev, "Can't register IRQ for DMA\n"); - goto err_enable; + goto err; + } + + irq_err = platform_get_irq(pdev, 1); + if (irq_err < 0) { + ret = irq_err; + goto err; } - ret = request_irq(MX1_DMA_ERR, imxdma_err_handler, 0, "DMA", imxdma); + ret = devm_request_irq(&pdev->dev, irq_err, + imxdma_err_handler, 0, "DMA", imxdma); if (ret) { dev_warn(imxdma->dev, "Can't register ERRIRQ for DMA\n"); - free_irq(MX1_DMA_INT, NULL); - goto err_enable; + goto err; } } @@ -1038,14 +1081,14 @@ static int __init imxdma_probe(struct platform_device *pdev) for (i = 0; i < IMX_DMA_CHANNELS; i++) { struct imxdma_channel *imxdmac = &imxdma->channel[i]; - if (cpu_is_mx21() || cpu_is_mx27()) { - ret = request_irq(MX2x_INT_DMACH0 + i, + if (!is_imx1_dma(imxdma)) { + ret = devm_request_irq(&pdev->dev, irq + i, dma_irq_handler, 0, "DMA", imxdma); if (ret) { dev_warn(imxdma->dev, "Can't register IRQ %d " "for DMA channel %d\n", - MX2x_INT_DMACH0 + i, i); - goto err_init; + irq + i, i); + goto err; } init_timer(&imxdmac->watchdog); imxdmac->watchdog.function = &imxdma_watchdog; @@ -1091,46 +1134,25 @@ static int __init imxdma_probe(struct platform_device *pdev) ret = dma_async_device_register(&imxdma->dma_device); if (ret) { dev_err(&pdev->dev, "unable to register\n"); - goto err_init; + goto err; } return 0; -err_init: - - if (cpu_is_mx21() || cpu_is_mx27()) { - while (--i >= 0) - free_irq(MX2x_INT_DMACH0 + i, NULL); - } else if cpu_is_mx1() { - free_irq(MX1_DMA_INT, NULL); - free_irq(MX1_DMA_ERR, NULL); - } -err_enable: +err: clk_disable_unprepare(imxdma->dma_ipg); clk_disable_unprepare(imxdma->dma_ahb); -err_clk: - kfree(imxdma); return ret; } static int __exit imxdma_remove(struct platform_device *pdev) { struct imxdma_engine *imxdma = platform_get_drvdata(pdev); - int i; dma_async_device_unregister(&imxdma->dma_device); - if (cpu_is_mx21() || cpu_is_mx27()) { - for (i = 0; i < IMX_DMA_CHANNELS; i++) - free_irq(MX2x_INT_DMACH0 + i, NULL); - } else if cpu_is_mx1() { - free_irq(MX1_DMA_INT, NULL); - free_irq(MX1_DMA_ERR, NULL); - } - clk_disable_unprepare(imxdma->dma_ipg); clk_disable_unprepare(imxdma->dma_ahb); - kfree(imxdma); return 0; } @@ -1139,6 +1161,7 @@ static struct platform_driver imxdma_driver = { .driver = { .name = "imx-dma", }, + .id_table = imx_dma_devtype, .remove = __exit_p(imxdma_remove), }; diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index c099ca0846f4..f082aa3a918c 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c @@ -40,7 +40,6 @@ #include <asm/irq.h> #include <linux/platform_data/dma-imx-sdma.h> #include <linux/platform_data/dma-imx.h> -#include <mach/hardware.h> #include "dmaengine.h" diff --git a/drivers/dma/intel_mid_dma.c b/drivers/dma/intel_mid_dma.c index 02b21d7d38e5..bc764afacd9b 100644 --- a/drivers/dma/intel_mid_dma.c +++ b/drivers/dma/intel_mid_dma.c @@ -1225,7 +1225,7 @@ static void middma_shutdown(struct pci_dev *pdev) * Initialize the PCI device, map BARs, query driver data. * Call setup_dma to complete contoller and chan initilzation */ -static int __devinit intel_mid_dma_probe(struct pci_dev *pdev, +static int intel_mid_dma_probe(struct pci_dev *pdev, const struct pci_device_id *id) { struct middma_device *device; @@ -1432,7 +1432,7 @@ static struct pci_driver intel_mid_dma_pci_driver = { .name = "Intel MID DMA", .id_table = intel_mid_dma_ids, .probe = intel_mid_dma_probe, - .remove = __devexit_p(intel_mid_dma_remove), + .remove = intel_mid_dma_remove, #ifdef CONFIG_PM .driver = { .pm = &intel_mid_dma_pm, diff --git a/drivers/dma/ioat/dca.c b/drivers/dma/ioat/dca.c index abd9038e06b1..d6668071bd0d 100644 --- a/drivers/dma/ioat/dca.c +++ b/drivers/dma/ioat/dca.c @@ -604,6 +604,23 @@ static int ioat3_dca_count_dca_slots(void *iobase, u16 dca_offset) return slots; } +static inline int dca3_tag_map_invalid(u8 *tag_map) +{ + /* + * If the tag map is not programmed by the BIOS the default is: + * 0x80 0x80 0x80 0x80 0x80 0x00 0x00 0x00 + * + * This an invalid map and will result in only 2 possible tags + * 0x1F and 0x00. 0x00 is an invalid DCA tag so we know that + * this entire definition is invalid. + */ + return ((tag_map[0] == DCA_TAG_MAP_VALID) && + (tag_map[1] == DCA_TAG_MAP_VALID) && + (tag_map[2] == DCA_TAG_MAP_VALID) && + (tag_map[3] == DCA_TAG_MAP_VALID) && + (tag_map[4] == DCA_TAG_MAP_VALID)); +} + struct dca_provider * __devinit ioat3_dca_init(struct pci_dev *pdev, void __iomem *iobase) { @@ -674,6 +691,12 @@ ioat3_dca_init(struct pci_dev *pdev, void __iomem *iobase) ioatdca->tag_map[i] = bit & DCA_TAG_MAP_MASK; } + if (dca3_tag_map_invalid(ioatdca->tag_map)) { + dev_err(&pdev->dev, "APICID_TAG_MAP set incorrectly by BIOS, disabling DCA\n"); + free_dca_provider(dca); + return NULL; + } + err = register_dca_provider(dca, &pdev->dev); if (err) { free_dca_provider(dca); diff --git a/drivers/dma/ioat/pci.c b/drivers/dma/ioat/pci.c index c0573061b45d..bfa9a3536e09 100644 --- a/drivers/dma/ioat/pci.c +++ b/drivers/dma/ioat/pci.c @@ -125,7 +125,7 @@ static struct pci_driver ioat_pci_driver = { .name = DRV_NAME, .id_table = ioat_pci_tbl, .probe = ioat_pci_probe, - .remove = __devexit_p(ioat_remove), + .remove = ioat_remove, }; static struct ioatdma_device * diff --git a/drivers/dma/iop-adma.c b/drivers/dma/iop-adma.c index 79e3eba29702..9072e173b860 100644 --- a/drivers/dma/iop-adma.c +++ b/drivers/dma/iop-adma.c @@ -968,7 +968,7 @@ static void iop_adma_issue_pending(struct dma_chan *chan) */ #define IOP_ADMA_TEST_SIZE 2000 -static int __devinit iop_adma_memcpy_self_test(struct iop_adma_device *device) +static int iop_adma_memcpy_self_test(struct iop_adma_device *device) { int i; void *src, *dest; @@ -1042,7 +1042,7 @@ out: } #define IOP_ADMA_NUM_SRC_TEST 4 /* must be <= 15 */ -static int __devinit +static int iop_adma_xor_val_self_test(struct iop_adma_device *device) { int i, src_idx; @@ -1243,7 +1243,7 @@ out: } #ifdef CONFIG_RAID6_PQ -static int __devinit +static int iop_adma_pq_zero_sum_self_test(struct iop_adma_device *device) { /* combined sources, software pq results, and extra hw pq results */ @@ -1429,7 +1429,7 @@ static int __devexit iop_adma_remove(struct platform_device *dev) return 0; } -static int __devinit iop_adma_probe(struct platform_device *pdev) +static int iop_adma_probe(struct platform_device *pdev) { struct resource *res; int ret = 0, i; @@ -1711,7 +1711,7 @@ static void iop_chan_start_null_xor(struct iop_adma_chan *iop_chan) static struct platform_driver iop_adma_driver = { .probe = iop_adma_probe, - .remove = __devexit_p(iop_adma_remove), + .remove = iop_adma_remove, .driver = { .owner = THIS_MODULE, .name = "iop-adma", diff --git a/drivers/dma/ipu/ipu_idmac.c b/drivers/dma/ipu/ipu_idmac.c index c7573e50aa14..65855373cee6 100644 --- a/drivers/dma/ipu/ipu_idmac.c +++ b/drivers/dma/ipu/ipu_idmac.c @@ -22,8 +22,7 @@ #include <linux/interrupt.h> #include <linux/io.h> #include <linux/module.h> - -#include <mach/ipu.h> +#include <linux/dma/ipu-dma.h> #include "../dmaengine.h" #include "ipu_intern.h" diff --git a/drivers/dma/ipu/ipu_irq.c b/drivers/dma/ipu/ipu_irq.c index fa95bcc3de1f..a5ee37d5320f 100644 --- a/drivers/dma/ipu/ipu_irq.c +++ b/drivers/dma/ipu/ipu_irq.c @@ -15,8 +15,7 @@ #include <linux/irq.h> #include <linux/io.h> #include <linux/module.h> - -#include <mach/ipu.h> +#include <linux/dma/ipu-dma.h> #include "ipu_intern.h" diff --git a/drivers/dma/mmp_pdma.c b/drivers/dma/mmp_pdma.c index 14da1f403edf..13bdf4a7e1ec 100644 --- a/drivers/dma/mmp_pdma.c +++ b/drivers/dma/mmp_pdma.c @@ -720,7 +720,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 +764,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; @@ -865,7 +865,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); diff --git a/drivers/dma/mmp_tdma.c b/drivers/dma/mmp_tdma.c index f3e8d71bcbc7..323821c0c095 100644 --- a/drivers/dma/mmp_tdma.c +++ b/drivers/dma/mmp_tdma.c @@ -475,7 +475,7 @@ static int __devexit mmp_tdma_remove(struct platform_device *pdev) return 0; } -static int __devinit mmp_tdma_chan_init(struct mmp_tdma_device *tdev, +static int mmp_tdma_chan_init(struct mmp_tdma_device *tdev, int idx, int irq, int type) { struct mmp_tdma_chan *tdmac; @@ -515,7 +515,7 @@ static struct of_device_id mmp_tdma_dt_ids[] = { }; MODULE_DEVICE_TABLE(of, mmp_tdma_dt_ids); -static int __devinit mmp_tdma_probe(struct platform_device *pdev) +static int mmp_tdma_probe(struct platform_device *pdev) { enum mmp_tdma_type type; const struct of_device_id *of_id; @@ -609,7 +609,7 @@ static struct platform_driver mmp_tdma_driver = { }, .id_table = mmp_tdma_id_table, .probe = mmp_tdma_probe, - .remove = __devexit_p(mmp_tdma_remove), + .remove = mmp_tdma_remove, }; module_platform_driver(mmp_tdma_driver); diff --git a/drivers/dma/mpc512x_dma.c b/drivers/dma/mpc512x_dma.c index 2ab0a3d0eed5..2cd024a91d40 100644 --- a/drivers/dma/mpc512x_dma.c +++ b/drivers/dma/mpc512x_dma.c @@ -641,7 +641,7 @@ mpc_dma_prep_memcpy(struct dma_chan *chan, dma_addr_t dst, dma_addr_t src, return &mdesc->desc; } -static int __devinit mpc_dma_probe(struct platform_device *op) +static int mpc_dma_probe(struct platform_device *op) { struct device_node *dn = op->dev.of_node; struct device *dev = &op->dev; @@ -818,7 +818,7 @@ static struct of_device_id mpc_dma_match[] = { static struct platform_driver mpc_dma_driver = { .probe = mpc_dma_probe, - .remove = __devexit_p(mpc_dma_remove), + .remove = mpc_dma_remove, .driver = { .name = DRV_NAME, .owner = THIS_MODULE, diff --git a/drivers/dma/mv_xor.c b/drivers/dma/mv_xor.c index e362e2b80efb..d12ad00da4cb 100644 --- a/drivers/dma/mv_xor.c +++ b/drivers/dma/mv_xor.c @@ -901,7 +901,7 @@ static void mv_xor_issue_pending(struct dma_chan *chan) */ #define MV_XOR_TEST_SIZE 2000 -static int __devinit mv_xor_memcpy_self_test(struct mv_xor_device *device) +static int mv_xor_memcpy_self_test(struct mv_xor_device *device) { int i; void *src, *dest; @@ -975,7 +975,7 @@ out: } #define MV_XOR_NUM_SRC_TEST 4 /* must be <= 15 */ -static int __devinit +static int mv_xor_xor_self_test(struct mv_xor_device *device) { int i, src_idx; @@ -1100,7 +1100,7 @@ static int __devexit mv_xor_remove(struct platform_device *dev) return 0; } -static int __devinit mv_xor_probe(struct platform_device *pdev) +static int mv_xor_probe(struct platform_device *pdev) { int ret = 0; int irq; @@ -1262,7 +1262,7 @@ mv_xor_conf_mbus_windows(struct mv_xor_shared_private *msp, static struct platform_driver mv_xor_driver = { .probe = mv_xor_probe, - .remove = __devexit_p(mv_xor_remove), + .remove = mv_xor_remove, .driver = { .owner = THIS_MODULE, .name = MV_XOR_NAME, diff --git a/drivers/dma/omap-dma.c b/drivers/dma/omap-dma.c index bb2d8e7029eb..5a31264f2bd1 100644 --- a/drivers/dma/omap-dma.c +++ b/drivers/dma/omap-dma.c @@ -19,9 +19,6 @@ #include "virt-dma.h" -#include <plat/cpu.h> -#include <plat/dma.h> - struct omap_dmadev { struct dma_device ddev; spinlock_t lock; @@ -438,7 +435,7 @@ static struct dma_async_tx_descriptor *omap_dma_prep_dma_cyclic( omap_disable_dma_irq(c->dma_ch, OMAP_DMA_BLOCK_IRQ); } - if (!cpu_class_is_omap1()) { + if (dma_omap2plus()) { omap_set_dma_src_burst_mode(c->dma_ch, OMAP_DMA_DATA_BURST_16); omap_set_dma_dest_burst_mode(c->dma_ch, OMAP_DMA_DATA_BURST_16); } diff --git a/drivers/dma/pch_dma.c b/drivers/dma/pch_dma.c index 987ab5cd2617..eca1c4ddf039 100644 --- a/drivers/dma/pch_dma.c +++ b/drivers/dma/pch_dma.c @@ -843,7 +843,7 @@ static int pch_dma_resume(struct pci_dev *pdev) } #endif -static int __devinit pch_dma_probe(struct pci_dev *pdev, +static int pch_dma_probe(struct pci_dev *pdev, const struct pci_device_id *id) { struct pch_dma *pd; @@ -1022,7 +1022,7 @@ static struct pci_driver pch_dma_driver = { .name = DRV_NAME, .id_table = pch_dma_id_table, .probe = pch_dma_probe, - .remove = __devexit_p(pch_dma_remove), + .remove = pch_dma_remove, #ifdef CONFIG_PM .suspend = pch_dma_suspend, .resume = pch_dma_resume, diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c index 665668b6f2b1..95555f37ea6d 100644 --- a/drivers/dma/pl330.c +++ b/drivers/dma/pl330.c @@ -2851,7 +2851,7 @@ static irqreturn_t pl330_irq_handler(int irq, void *data) return IRQ_NONE; } -static int __devinit +static int pl330_probe(struct amba_device *adev, const struct amba_id *id) { struct dma_pl330_platdata *pdat; diff --git a/drivers/dma/ppc4xx/adma.c b/drivers/dma/ppc4xx/adma.c index f72348d0bc41..b94afc339e7f 100644 --- a/drivers/dma/ppc4xx/adma.c +++ b/drivers/dma/ppc4xx/adma.c @@ -4361,7 +4361,7 @@ static void ppc440spe_adma_release_irqs(struct ppc440spe_adma_device *adev, /** * ppc440spe_adma_probe - probe the asynch device */ -static int __devinit ppc440spe_adma_probe(struct platform_device *ofdev) +static int ppc440spe_adma_probe(struct platform_device *ofdev) { struct device_node *np = ofdev->dev.of_node; struct resource res; @@ -4914,7 +4914,7 @@ MODULE_DEVICE_TABLE(of, ppc440spe_adma_of_match); static struct platform_driver ppc440spe_adma_driver = { .probe = ppc440spe_adma_probe, - .remove = __devexit_p(ppc440spe_adma_remove), + .remove = ppc440spe_adma_remove, .driver = { .name = "PPC440SP(E)-ADMA", .owner = THIS_MODULE, diff --git a/drivers/dma/sa11x0-dma.c b/drivers/dma/sa11x0-dma.c index b893159c1ecb..2ad628df8223 100644 --- a/drivers/dma/sa11x0-dma.c +++ b/drivers/dma/sa11x0-dma.c @@ -826,7 +826,7 @@ static const struct sa11x0_dma_channel_desc chan_desc[] = { CD(Ser4SSPRc, DDAR_RW), }; -static int __devinit sa11x0_dma_init_dmadev(struct dma_device *dmadev, +static int sa11x0_dma_init_dmadev(struct dma_device *dmadev, struct device *dev) { unsigned i; @@ -891,7 +891,7 @@ static void sa11x0_dma_free_channels(struct dma_device *dmadev) } } -static int __devinit sa11x0_dma_probe(struct platform_device *pdev) +static int sa11x0_dma_probe(struct platform_device *pdev) { struct sa11x0_dma_dev *d; struct resource *res; @@ -1072,7 +1072,7 @@ static struct platform_driver sa11x0_dma_driver = { .pm = &sa11x0_dma_pm_ops, }, .probe = sa11x0_dma_probe, - .remove = __devexit_p(sa11x0_dma_remove), + .remove = sa11x0_dma_remove, }; bool sa11x0_dma_filter_fn(struct dma_chan *chan, void *param) diff --git a/drivers/dma/sh/shdma.c b/drivers/dma/sh/shdma.c index f41bcc5267fd..8201bb4e0cd7 100644 --- a/drivers/dma/sh/shdma.c +++ b/drivers/dma/sh/shdma.c @@ -483,7 +483,7 @@ static struct notifier_block sh_dmae_nmi_notifier __read_mostly = { .priority = 1, }; -static int __devinit sh_dmae_chan_probe(struct sh_dmae_device *shdev, int id, +static int sh_dmae_chan_probe(struct sh_dmae_device *shdev, int id, int irq, unsigned long flags) { const struct sh_dmae_channel *chan_pdata = &shdev->pdata->channel[id]; @@ -646,7 +646,7 @@ static const struct shdma_ops sh_dmae_shdma_ops = { .get_partial = sh_dmae_get_partial, }; -static int __devinit sh_dmae_probe(struct platform_device *pdev) +static int sh_dmae_probe(struct platform_device *pdev) { struct sh_dmae_pdata *pdata = pdev->dev.platform_data; unsigned long irqflags = IRQF_DISABLED, @@ -926,7 +926,7 @@ static struct platform_driver sh_dmae_driver = { .pm = &sh_dmae_pm, .name = SH_DMAE_DRV_NAME, }, - .remove = __devexit_p(sh_dmae_remove), + .remove = sh_dmae_remove, .shutdown = sh_dmae_shutdown, }; diff --git a/drivers/dma/sirf-dma.c b/drivers/dma/sirf-dma.c index d451caace806..c3de6edb9651 100644 --- a/drivers/dma/sirf-dma.c +++ b/drivers/dma/sirf-dma.c @@ -550,7 +550,7 @@ bool sirfsoc_dma_filter_id(struct dma_chan *chan, void *chan_id) } EXPORT_SYMBOL(sirfsoc_dma_filter_id); -static int __devinit sirfsoc_dma_probe(struct platform_device *op) +static int sirfsoc_dma_probe(struct platform_device *op) { struct device_node *dn = op->dev.of_node; struct device *dev = &op->dev; @@ -673,7 +673,7 @@ static struct of_device_id sirfsoc_dma_match[] = { static struct platform_driver sirfsoc_dma_driver = { .probe = sirfsoc_dma_probe, - .remove = __devexit_p(sirfsoc_dma_remove), + .remove = sirfsoc_dma_remove, .driver = { .name = DRV_NAME, .owner = THIS_MODULE, diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c index ae55091c2272..23c5573e62dd 100644 --- a/drivers/dma/ste_dma40.c +++ b/drivers/dma/ste_dma40.c @@ -19,8 +19,7 @@ #include <linux/err.h> #include <linux/amba/bus.h> #include <linux/regulator/consumer.h> - -#include <plat/ste_dma40.h> +#include <linux/platform_data/dma-ste-dma40.h> #include "dmaengine.h" #include "ste_dma40_ll.h" diff --git a/drivers/dma/ste_dma40_ll.c b/drivers/dma/ste_dma40_ll.c index cad9e1daedff..851ad56e8409 100644 --- a/drivers/dma/ste_dma40_ll.c +++ b/drivers/dma/ste_dma40_ll.c @@ -6,7 +6,7 @@ */ #include <linux/kernel.h> -#include <plat/ste_dma40.h> +#include <linux/platform_data/dma-ste-dma40.h> #include "ste_dma40_ll.h" diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c index 528c62dd4b00..efdfffa13349 100644 --- a/drivers/dma/tegra20-apb-dma.c +++ b/drivers/dma/tegra20-apb-dma.c @@ -1197,7 +1197,7 @@ static const struct of_device_id tegra_dma_of_match[] __devinitconst = { MODULE_DEVICE_TABLE(of, tegra_dma_of_match); #endif -static int __devinit tegra_dma_probe(struct platform_device *pdev) +static int tegra_dma_probe(struct platform_device *pdev) { struct resource *res; struct tegra_dma *tdma; @@ -1418,7 +1418,7 @@ static struct platform_driver tegra_dmac_driver = { .of_match_table = of_match_ptr(tegra_dma_of_match), }, .probe = tegra_dma_probe, - .remove = __devexit_p(tegra_dma_remove), + .remove = tegra_dma_remove, }; module_platform_driver(tegra_dmac_driver); diff --git a/drivers/dma/timb_dma.c b/drivers/dma/timb_dma.c index 4e0dff59901d..98cf51e1544c 100644 --- a/drivers/dma/timb_dma.c +++ b/drivers/dma/timb_dma.c @@ -667,7 +667,7 @@ static irqreturn_t td_irq(int irq, void *devid) } -static int __devinit td_probe(struct platform_device *pdev) +static int td_probe(struct platform_device *pdev) { struct timb_dma_platform_data *pdata = pdev->dev.platform_data; struct timb_dma *td; |