diff options
Diffstat (limited to 'drivers/staging/vme/TODO')
-rw-r--r-- | drivers/staging/vme/TODO | 36 |
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. |