summaryrefslogtreecommitdiff
path: root/drivers/staging/vme/TODO
diff options
context:
space:
mode:
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 046cf5815998..1e1f4d65976c 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.