aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/vme/bridges/vme_tsi148.c
diff options
context:
space:
mode:
authorManohar Vanga <manohar.vanga@cern.ch>2011-08-10 11:33:46 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2011-08-23 15:08:09 -0700
commit7f58f0255aec0b933e0b26ef64d3d533c362a3d3 (patch)
tree992b4c303e3f15cea1976b6c700ec71335b406f9 /drivers/staging/vme/bridges/vme_tsi148.c
parentstaging: vme_user: change kmalloc+memset to kzalloc (diff)
downloadlinux-dev-7f58f0255aec0b933e0b26ef64d3d533c362a3d3.tar.xz
linux-dev-7f58f0255aec0b933e0b26ef64d3d533c362a3d3.zip
staging: vme: make [alloc|free]_consistent bridge specific
Make PCI dependent functions ([alloc|free]_consistent() in 'vme.c') bridge specific. By removing the dependency of the VME bridge framework on PCI, this patch allows for addition of non-PCI based VME bridges. Signed-off-by: Manohar Vanga <manohar.vanga@cern.ch> Acked-by: Martyn Welch <martyn.welch@ge.com> Acked-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/vme/bridges/vme_tsi148.c')
-rw-r--r--drivers/staging/vme/bridges/vme_tsi148.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/staging/vme/bridges/vme_tsi148.c b/drivers/staging/vme/bridges/vme_tsi148.c
index 9c539513c74b..6c1167c2bea9 100644
--- a/drivers/staging/vme/bridges/vme_tsi148.c
+++ b/drivers/staging/vme/bridges/vme_tsi148.c
@@ -2114,6 +2114,28 @@ static int tsi148_slot_get(struct vme_bridge *tsi148_bridge)
return (int)slot;
}
+void *tsi148_alloc_consistent(struct device *parent, size_t size,
+ dma_addr_t *dma)
+{
+ struct pci_dev *pdev;
+
+ /* Find pci_dev container of dev */
+ pdev = container_of(parent, struct pci_dev, dev);
+
+ return pci_alloc_consistent(pdev, size, dma);
+}
+
+void tsi148_free_consistent(struct device *parent, size_t size, void *vaddr,
+ dma_addr_t dma)
+{
+ struct pci_dev *pdev;
+
+ /* Find pci_dev container of dev */
+ pdev = container_of(parent, struct pci_dev, dev);
+
+ pci_free_consistent(pdev, size, vaddr, dma);
+}
+
static int __init tsi148_init(void)
{
return pci_register_driver(&tsi148_driver);
@@ -2443,6 +2465,8 @@ static int tsi148_probe(struct pci_dev *pdev, const struct pci_device_id *id)
tsi148_bridge->lm_attach = tsi148_lm_attach;
tsi148_bridge->lm_detach = tsi148_lm_detach;
tsi148_bridge->slot_get = tsi148_slot_get;
+ tsi148_bridge->alloc_consistent = tsi148_alloc_consistent;
+ tsi148_bridge->free_consistent = tsi148_free_consistent;
data = ioread32be(tsi148_device->base + TSI148_LCSR_VSTAT);
dev_info(&pdev->dev, "Board is%s the VME system controller\n",