Lines Matching refs:resource

53 static struct vme_bridge *find_bridge(struct vme_resource *resource)  in find_bridge()  argument
56 switch (resource->type) { in find_bridge()
58 return list_entry(resource->entry, struct vme_master_resource, in find_bridge()
62 return list_entry(resource->entry, struct vme_slave_resource, in find_bridge()
66 return list_entry(resource->entry, struct vme_dma_resource, in find_bridge()
70 return list_entry(resource->entry, struct vme_lm_resource, in find_bridge()
84 void *vme_alloc_consistent(struct vme_resource *resource, size_t size, in vme_alloc_consistent() argument
89 if (resource == NULL) { in vme_alloc_consistent()
94 bridge = find_bridge(resource); in vme_alloc_consistent()
118 void vme_free_consistent(struct vme_resource *resource, size_t size, in vme_free_consistent() argument
123 if (resource == NULL) { in vme_free_consistent()
128 bridge = find_bridge(resource); in vme_free_consistent()
149 size_t vme_get_size(struct vme_resource *resource) in vme_get_size() argument
156 switch (resource->type) { in vme_get_size()
158 retval = vme_master_get(resource, &enabled, &base, &size, in vme_get_size()
164 retval = vme_slave_get(resource, &enabled, &base, &size, in vme_get_size()
270 struct vme_resource *resource = NULL; in vme_slave_request() local
306 resource = kmalloc(sizeof(struct vme_resource), GFP_KERNEL); in vme_slave_request()
307 if (resource == NULL) { in vme_slave_request()
311 resource->type = VME_SLAVE; in vme_slave_request()
312 resource->entry = &allocated_image->list; in vme_slave_request()
314 return resource; in vme_slave_request()
327 int vme_slave_set(struct vme_resource *resource, int enabled, in vme_slave_set() argument
331 struct vme_bridge *bridge = find_bridge(resource); in vme_slave_set()
335 if (resource->type != VME_SLAVE) { in vme_slave_set()
340 image = list_entry(resource->entry, struct vme_slave_resource, list); in vme_slave_set()
362 int vme_slave_get(struct vme_resource *resource, int *enabled, in vme_slave_get() argument
366 struct vme_bridge *bridge = find_bridge(resource); in vme_slave_get()
369 if (resource->type != VME_SLAVE) { in vme_slave_get()
374 image = list_entry(resource->entry, struct vme_slave_resource, list); in vme_slave_get()
386 void vme_slave_free(struct vme_resource *resource) in vme_slave_free() argument
390 if (resource->type != VME_SLAVE) { in vme_slave_free()
395 slave_image = list_entry(resource->entry, struct vme_slave_resource, in vme_slave_free()
411 kfree(resource); in vme_slave_free()
426 struct vme_resource *resource = NULL; in vme_master_request() local
465 resource = kmalloc(sizeof(struct vme_resource), GFP_KERNEL); in vme_master_request()
466 if (resource == NULL) { in vme_master_request()
470 resource->type = VME_MASTER; in vme_master_request()
471 resource->entry = &allocated_image->list; in vme_master_request()
473 return resource; in vme_master_request()
486 int vme_master_set(struct vme_resource *resource, int enabled, in vme_master_set() argument
490 struct vme_bridge *bridge = find_bridge(resource); in vme_master_set()
494 if (resource->type != VME_MASTER) { in vme_master_set()
499 image = list_entry(resource->entry, struct vme_master_resource, list); in vme_master_set()
522 int vme_master_get(struct vme_resource *resource, int *enabled, in vme_master_get() argument
526 struct vme_bridge *bridge = find_bridge(resource); in vme_master_get()
529 if (resource->type != VME_MASTER) { in vme_master_get()
534 image = list_entry(resource->entry, struct vme_master_resource, list); in vme_master_get()
549 ssize_t vme_master_read(struct vme_resource *resource, void *buf, size_t count, in vme_master_read() argument
552 struct vme_bridge *bridge = find_bridge(resource); in vme_master_read()
561 if (resource->type != VME_MASTER) { in vme_master_read()
566 image = list_entry(resource->entry, struct vme_master_resource, list); in vme_master_read()
568 length = vme_get_size(resource); in vme_master_read()
586 ssize_t vme_master_write(struct vme_resource *resource, void *buf, in vme_master_write() argument
589 struct vme_bridge *bridge = find_bridge(resource); in vme_master_write()
598 if (resource->type != VME_MASTER) { in vme_master_write()
603 image = list_entry(resource->entry, struct vme_master_resource, list); in vme_master_write()
605 length = vme_get_size(resource); in vme_master_write()
622 unsigned int vme_master_rmw(struct vme_resource *resource, unsigned int mask, in vme_master_rmw() argument
625 struct vme_bridge *bridge = find_bridge(resource); in vme_master_rmw()
633 if (resource->type != VME_MASTER) { in vme_master_rmw()
638 image = list_entry(resource->entry, struct vme_master_resource, list); in vme_master_rmw()
644 int vme_master_mmap(struct vme_resource *resource, struct vm_area_struct *vma) in vme_master_mmap() argument
650 if (resource->type != VME_MASTER) { in vme_master_mmap()
655 image = list_entry(resource->entry, struct vme_master_resource, list); in vme_master_mmap()
670 void vme_master_free(struct vme_resource *resource) in vme_master_free() argument
674 if (resource->type != VME_MASTER) { in vme_master_free()
679 master_image = list_entry(resource->entry, struct vme_master_resource, in vme_master_free()
695 kfree(resource); in vme_master_free()
709 struct vme_resource *resource = NULL; in vme_dma_request() local
747 resource = kmalloc(sizeof(struct vme_resource), GFP_KERNEL); in vme_dma_request()
748 if (resource == NULL) { in vme_dma_request()
752 resource->type = VME_DMA; in vme_dma_request()
753 resource->entry = &allocated_ctrlr->list; in vme_dma_request()
755 return resource; in vme_dma_request()
771 struct vme_dma_list *vme_new_dma_list(struct vme_resource *resource) in vme_new_dma_list() argument
776 if (resource->type != VME_DMA) { in vme_new_dma_list()
781 ctrlr = list_entry(resource->entry, struct vme_dma_resource, list); in vme_new_dma_list()
994 int vme_dma_free(struct vme_resource *resource) in vme_dma_free() argument
998 if (resource->type != VME_DMA) { in vme_dma_free()
1003 ctrlr = list_entry(resource->entry, struct vme_dma_resource, list); in vme_dma_free()
1020 kfree(resource); in vme_dma_free()
1210 struct vme_resource *resource = NULL; in vme_lm_request() local
1243 resource = kmalloc(sizeof(struct vme_resource), GFP_KERNEL); in vme_lm_request()
1244 if (resource == NULL) { in vme_lm_request()
1248 resource->type = VME_LM; in vme_lm_request()
1249 resource->entry = &allocated_lm->list; in vme_lm_request()
1251 return resource; in vme_lm_request()
1264 int vme_lm_count(struct vme_resource *resource) in vme_lm_count() argument
1268 if (resource->type != VME_LM) { in vme_lm_count()
1273 lm = list_entry(resource->entry, struct vme_lm_resource, list); in vme_lm_count()
1279 int vme_lm_set(struct vme_resource *resource, unsigned long long lm_base, in vme_lm_set() argument
1282 struct vme_bridge *bridge = find_bridge(resource); in vme_lm_set()
1285 if (resource->type != VME_LM) { in vme_lm_set()
1290 lm = list_entry(resource->entry, struct vme_lm_resource, list); in vme_lm_set()
1301 int vme_lm_get(struct vme_resource *resource, unsigned long long *lm_base, in vme_lm_get() argument
1304 struct vme_bridge *bridge = find_bridge(resource); in vme_lm_get()
1307 if (resource->type != VME_LM) { in vme_lm_get()
1312 lm = list_entry(resource->entry, struct vme_lm_resource, list); in vme_lm_get()
1323 int vme_lm_attach(struct vme_resource *resource, int monitor, in vme_lm_attach() argument
1326 struct vme_bridge *bridge = find_bridge(resource); in vme_lm_attach()
1329 if (resource->type != VME_LM) { in vme_lm_attach()
1334 lm = list_entry(resource->entry, struct vme_lm_resource, list); in vme_lm_attach()
1345 int vme_lm_detach(struct vme_resource *resource, int monitor) in vme_lm_detach() argument
1347 struct vme_bridge *bridge = find_bridge(resource); in vme_lm_detach()
1350 if (resource->type != VME_LM) { in vme_lm_detach()
1355 lm = list_entry(resource->entry, struct vme_lm_resource, list); in vme_lm_detach()
1366 void vme_lm_free(struct vme_resource *resource) in vme_lm_free() argument
1370 if (resource->type != VME_LM) { in vme_lm_free()
1375 lm = list_entry(resource->entry, struct vme_lm_resource, list); in vme_lm_free()
1388 kfree(resource); in vme_lm_free()