diff options
author | Martyn Welch <martyn.welch@gefanuc.com> | 2009-10-29 16:34:54 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-12-11 12:23:17 -0800 |
commit | c813f592a5e65cfd9321f51c95a6977e9518dde6 (patch) | |
tree | e2d75f7720bff912ddbf92e7921d3856079eacad /drivers/staging/vme/vme_bridge.h | |
parent | beb9ccc635433065a099b75dc8b22caf0844014a (diff) | |
download | op-kernel-dev-c813f592a5e65cfd9321f51c95a6977e9518dde6.zip op-kernel-dev-c813f592a5e65cfd9321f51c95a6977e9518dde6.tar.gz |
Staging: vme: Pull common VME interrupt handling into core code
Currently the VME callback infrastructure is replicated in each VME driver.
Move this common code into the VME core. Rename functions to fit in better
with naming of other VME functions.
Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/vme/vme_bridge.h')
-rw-r--r-- | drivers/staging/vme/vme_bridge.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/staging/vme/vme_bridge.h b/drivers/staging/vme/vme_bridge.h index e43cc19..851fa92 100644 --- a/drivers/staging/vme/vme_bridge.h +++ b/drivers/staging/vme/vme_bridge.h @@ -120,6 +120,8 @@ struct vme_bridge { /* Interrupt callbacks */ struct vme_irq irq[7]; + /* Locking for VME irq callback configuration */ + struct mutex irq_mtx; /* Slave Functions */ int (*slave_get) (struct vme_slave_resource *, int *, @@ -149,9 +151,8 @@ struct vme_bridge { int (*dma_list_empty) (struct vme_dma_list *); /* Interrupt Functions */ - int (*request_irq) (int, int, void (*cback)(int, int, void*), void *); - void (*free_irq) (int, int); - int (*generate_irq) (int, int); + void (*irq_set) (int, int, int); + int (*irq_generate) (int, int); /* Location monitor functions */ int (*lm_set) (struct vme_lm_resource *, unsigned long long, @@ -175,6 +176,8 @@ struct vme_bridge { #endif }; +void vme_irq_handler(struct vme_bridge *, int, int); + int vme_register_bridge (struct vme_bridge *); void vme_unregister_bridge (struct vme_bridge *); |