summaryrefslogtreecommitdiffstats
path: root/drivers/staging/vme/vme.h
diff options
context:
space:
mode:
authorMartyn Welch2009-08-11 18:44:56 +0200
committerGreg Kroah-Hartman2009-09-15 21:02:11 +0200
commit42fb503122d8cd428b5b1078bd473847ca2b206c (patch)
treead3ed37190f00556b30e489c863753eabedbba3a /drivers/staging/vme/vme.h
parentStaging: Use proper mutexes in the tsi-148 VME driver (diff)
downloadkernel-qcow2-linux-42fb503122d8cd428b5b1078bd473847ca2b206c.tar.gz
kernel-qcow2-linux-42fb503122d8cd428b5b1078bd473847ca2b206c.tar.xz
kernel-qcow2-linux-42fb503122d8cd428b5b1078bd473847ca2b206c.zip
Staging: vme: add VME Location Monitor management mechanism
Extend the image and DMA channel resource management methods to control the location monitor resource. The location monitor should be controlled as it can only be used at a single location at a time. 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.h')
-rw-r--r--drivers/staging/vme/vme.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/drivers/staging/vme/vme.h b/drivers/staging/vme/vme.h
index a092138e3a73..6206e91d1992 100644
--- a/drivers/staging/vme/vme.h
+++ b/drivers/staging/vme/vme.h
@@ -5,7 +5,8 @@
enum vme_resource_type {
VME_MASTER,
VME_SLAVE,
- VME_DMA
+ VME_DMA,
+ VME_LM
};
/* VME Address Spaces */
@@ -140,11 +141,15 @@ int vme_request_irq(struct device *, int, int,
void vme_free_irq(struct device *, int, int);
int vme_generate_irq(struct device *, int, int);
-int vme_lm_set(struct device *, unsigned long long, vme_address_t, vme_cycle_t);
-int vme_lm_get(struct device *, unsigned long long *, vme_address_t *,
+struct vme_resource * vme_lm_request(struct device *);
+int vme_lm_count(struct vme_resource *);
+int vme_lm_set(struct vme_resource *, unsigned long long, vme_address_t,
+ vme_cycle_t);
+int vme_lm_get(struct vme_resource *, unsigned long long *, vme_address_t *,
vme_cycle_t *);
-int vme_lm_attach(struct device *, int, void (*callback)(int));
-int vme_lm_detach(struct device *, int);
+int vme_lm_attach(struct vme_resource *, int, void (*callback)(int));
+int vme_lm_detach(struct vme_resource *, int);
+void vme_lm_free(struct vme_resource *);
int vme_slot_get(struct device *);