aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/vme/vme.c
diff options
context:
space:
mode:
authorMartyn Welch <martyn.welch@ge.com>2010-02-18 15:13:05 +0000
committerGreg Kroah-Hartman <gregkh@suse.de>2010-03-03 16:43:00 -0800
commit29848ac9f3b33bf171439ae2d66d40e6a71446c4 (patch)
treeba2e49f2e3ff4a47188dd5fe48690e1b55d6b3ef /drivers/staging/vme/vme.c
parentStaging: vme: Attribute Testing For Dma Request (diff)
downloadlinux-dev-29848ac9f3b33bf171439ae2d66d40e6a71446c4.tar.xz
linux-dev-29848ac9f3b33bf171439ae2d66d40e6a71446c4.zip
Staging: vme: Enable drivers to handle more than one bridge
At the moment the vme bridge drivers are written in a way that only allows them to support one bridge at a time. Modify the drivers to enable more than one bridge to be present per board. Signed-off-by: Martyn Welch <martyn.welch@ge.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/vme/vme.c')
-rw-r--r--drivers/staging/vme/vme.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/staging/vme/vme.c b/drivers/staging/vme/vme.c
index 79c501dac5f9..ea2eee3f0834 100644
--- a/drivers/staging/vme/vme.c
+++ b/drivers/staging/vme/vme.c
@@ -993,7 +993,7 @@ void vme_irq_handler(struct vme_bridge *bridge, int level, int statid)
EXPORT_SYMBOL(vme_irq_handler);
int vme_irq_request(struct device *dev, int level, int statid,
- void (*callback)(int level, int vector, void *priv_data),
+ void (*callback)(int, int, void *),
void *priv_data)
{
struct vme_bridge *bridge;
@@ -1027,7 +1027,7 @@ int vme_irq_request(struct device *dev, int level, int statid,
bridge->irq[level - 1].callback[statid].func = callback;
/* Enable IRQ level */
- bridge->irq_set(level, 1, 1);
+ bridge->irq_set(bridge, level, 1, 1);
mutex_unlock(&(bridge->irq_mtx));
@@ -1061,7 +1061,7 @@ void vme_irq_free(struct device *dev, int level, int statid)
/* Disable IRQ level if no more interrupts attached at this level*/
if (bridge->irq[level - 1].count == 0)
- bridge->irq_set(level, 0, 1);
+ bridge->irq_set(bridge, level, 0, 1);
bridge->irq[level - 1].callback[statid].func = NULL;
bridge->irq[level - 1].callback[statid].priv_data = NULL;
@@ -1090,7 +1090,7 @@ int vme_irq_generate(struct device *dev, int level, int statid)
return -EINVAL;
}
- return bridge->irq_generate(level, statid);
+ return bridge->irq_generate(bridge, level, statid);
}
EXPORT_SYMBOL(vme_irq_generate);
@@ -1303,7 +1303,7 @@ int vme_slot_get(struct device *bus)
return -EINVAL;
}
- return bridge->slot_get();
+ return bridge->slot_get(bridge);
}
EXPORT_SYMBOL(vme_slot_get);