aboutsummaryrefslogtreecommitdiff
path: root/drivers/staging/vme/TODO
diff options
context:
space:
mode:
authorMartyn Welch <martyn.welch@gefanuc.com>2009-08-11 17:44:56 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2009-09-15 12:02:11 -0700
commit42fb503122d8cd428b5b1078bd473847ca2b206c (patch)
treead3ed37190f00556b30e489c863753eabedbba3a /drivers/staging/vme/TODO
parent400822fec46ce69d2ba7692689a1689653f7b847 (diff)
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/TODO')
-rw-r--r--drivers/staging/vme/TODO36
1 files changed, 18 insertions, 18 deletions
diff --git a/drivers/staging/vme/TODO b/drivers/staging/vme/TODO
index 046cf581599..1e1f4d65976 100644
--- a/drivers/staging/vme/TODO
+++ b/drivers/staging/vme/TODO
@@ -331,44 +331,44 @@ monitor.
Location Monitor Management
---------------------------
-TODO: Provide a mechanism to request use of the location monitor. The location
- monitors can be moved and we only want one driver to be able to do that
- at a time! We also need to be able to free the location monitor for
- others to use.
+The following functions are provided to request the use of a block of location
+monitors and to free them after they are no longer required:
- struct vme_resource * vme_request_lm(struct device *dev);
+ struct vme_resource * vme_lm_request(struct device *dev);
- void vme_free_lm(struct vme_resource * res);
+ void vme_lm_free(struct vme_resource * res);
+
+Each block may provide a number of location monitors, monitoring adjacent
+locations. The following function can be used to determine how many locations
+are provided:
+
+ int vme_lm_count(struct vme_resource * res);
Location Monitor Configuration
------------------------------
-TODO: Change to struct "vme_resource *res" rather than "struct device *dev".
+Once a bank of location monitors has been allocated, the following functions
+are provided to configure the location and mode of the location monitor:
-The following functions are provided to configure the location and mode of the
-location monitor:
-
- int vme_lm_set(struct device *dev, unsigned long long base,
+ int vme_lm_set(struct vme_resource *res, unsigned long long base,
vme_address_t aspace, vme_cycle_t cycle);
- int vme_lm_get(struct device *dev, unsigned long long *base,
+ int vme_lm_get(struct vme_resource *res, unsigned long long *base,
vme_address_t *aspace, vme_cycle_t *cycle);
Location Monitor Use
--------------------
-TODO: Change to struct "vme_resource *res" rather than "struct device *dev".
-
The following functions allow a callback to be attached and detached from each
-location monitor location. The API currently supports 4 location monitors,
-monitoring 4 adjacent locations:
+location monitor location. Each location monitor can monitor a number of
+adjacent locations:
- int vme_lm_attach(struct device *dev, int num,
+ int vme_lm_attach(struct vme_resource *res, int num,
void (*callback)(int));
- int vme_lm_detach(struct device *dev, int num);
+ int vme_lm_detach(struct vme_resource *res, int num);
The callback function is declared as follows.