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/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/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/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 |
21 files changed, 67 insertions, 45 deletions
diff --git a/drivers/dma/dw_dmac.c b/drivers/dma/dw_dmac.c index c4b0eb3c..8f0b111 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 05aea3c..232b458 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 094437b..4fc2980 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/intel_mid_dma.c b/drivers/dma/intel_mid_dma.c index 02b21d7..bc764af 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 abd9038..d666807 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 c057306..bfa9a35 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 79e3eba..9072e17 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/mmp_pdma.c b/drivers/dma/mmp_pdma.c index 14da1f4..13bdf4a 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 f3e8d71..323821c 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 2ab0a3d..2cd024a 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 e362e2b..d12ad00 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/pch_dma.c b/drivers/dma/pch_dma.c index 987ab5c..eca1c4d 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 665668b..95555f3 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 f72348d..b94afc3 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 b893159..2ad628d 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 f41bcc5..8201bb4 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 d451caa..c3de6ed 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 ae55091..23c5573 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 cad9e1d..851ad56 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 528c62d..efdfffa 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 4e0dff5..98cf51e 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; |