summaryrefslogtreecommitdiff
path: root/drivers/staging/vme/vme.h
diff options
context:
space:
mode:
authorMartyn Welch <martyn.welch@gefanuc.com>2009-08-11 16:44:56 (GMT)
committerGreg Kroah-Hartman <gregkh@suse.de>2009-09-15 19:02:11 (GMT)
commit42fb503122d8cd428b5b1078bd473847ca2b206c (patch)
treead3ed37190f00556b30e489c863753eabedbba3a /drivers/staging/vme/vme.h
parent400822fec46ce69d2ba7692689a1689653f7b847 (diff)
downloadlinux-fsl-qoriq-42fb503122d8cd428b5b1078bd473847ca2b206c.tar.xz
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 a092138..6206e91 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 *);