Lines Matching refs:p

59 static struct resource *next_resource(struct resource *p, bool skip_children,  in next_resource()  argument
62 if (!skip_children && p->child) in next_resource()
63 return p->child; in next_resource()
64 while (!p->sibling && p->parent) { in next_resource()
65 p = p->parent; in next_resource()
66 if (p == subtree_root) in next_resource()
69 return p->sibling; in next_resource()
91 struct resource *p; in r_start() local
95 for_each_resource(root, p, false) { in r_start()
100 return p; in r_start()
105 struct resource *p = v; in r_next() local
109 return (void *)next_resource(p, false, NULL); in r_next()
121 struct resource *r = v, *p; in r_show() local
126 for (depth = 0, p = r; depth < MAX_IORES_LEVEL; depth++, p = p->parent) in r_show()
127 if (p->parent == root) in r_show()
185 struct resource *tmp, **p; in __request_resource() local
193 p = &root->child; in __request_resource()
195 tmp = *p; in __request_resource()
198 *p = new; in __request_resource()
202 p = &tmp->sibling; in __request_resource()
211 struct resource *tmp, **p, *chd; in __release_resource() local
213 p = &old->parent->child; in __release_resource()
215 tmp = *p; in __release_resource()
220 *p = tmp->sibling; in __release_resource()
227 *p = tmp->child; in __release_resource()
233 p = &tmp->sibling; in __release_resource()
240 struct resource *tmp, *p; in __release_child_resources() local
243 p = r->child; in __release_child_resources()
245 while (p) { in __release_child_resources()
246 tmp = p; in __release_child_resources()
247 p = p->sibling; in __release_child_resources()
318 static bool is_type_match(struct resource *p, unsigned long flags, unsigned long desc) in is_type_match() argument
320 return (p->flags & flags) == flags && (desc == IORES_DESC_NONE || desc == p->desc); in is_type_match()
344 struct resource *p; in find_next_iomem_res() local
354 for_each_resource(&iomem_resource, p, false) { in find_next_iomem_res()
356 if (p->start > end) { in find_next_iomem_res()
357 p = NULL; in find_next_iomem_res()
362 if (p->end < start) in find_next_iomem_res()
366 if (is_type_match(p, flags, desc)) in find_next_iomem_res()
370 if (p) { in find_next_iomem_res()
373 .start = max(start, p->start), in find_next_iomem_res()
374 .end = min(end, p->end), in find_next_iomem_res()
375 .flags = p->flags, in find_next_iomem_res()
376 .desc = p->desc, in find_next_iomem_res()
377 .parent = p->parent, in find_next_iomem_res()
382 return p ? 0 : -ENODEV; in find_next_iomem_res()
560 struct resource *p, *dp; in __region_intersects() local
566 for (p = parent->child; p ; p = p->sibling) { in __region_intersects()
567 if (!resource_intersection(p, &res, &o)) in __region_intersects()
569 if (is_type_match(p, flags, desc)) { in __region_intersects()
586 for_each_resource(p, dp, false) { in __region_intersects()
1354 struct resource **p; in __release_region() local
1357 p = &parent->child; in __release_region()
1363 struct resource *res = *p; in __release_region()
1369 p = &res->child; in __release_region()
1374 *p = res->sibling; in __release_region()
1381 p = &res->sibling; in __release_region()
1415 struct resource **p; in release_mem_region_adjustable() local
1433 p = &parent->child; in release_mem_region_adjustable()
1436 while ((res = *p)) { in release_mem_region_adjustable()
1442 p = &res->sibling; in release_mem_region_adjustable()
1450 p = &res->child; in release_mem_region_adjustable()
1457 *p = res->sibling; in release_mem_region_adjustable()
1739 struct resource *p; in iomem_map_sanity_check() local
1743 for_each_resource(&iomem_resource, p, false) { in iomem_map_sanity_check()
1748 if (p->start > end) in iomem_map_sanity_check()
1750 if (p->end < addr) in iomem_map_sanity_check()
1752 if (PFN_DOWN(p->start) <= PFN_DOWN(addr) && in iomem_map_sanity_check()
1753 PFN_DOWN(p->end) >= PFN_DOWN(end)) in iomem_map_sanity_check()
1761 if (p->flags & IORESOURCE_BUSY) in iomem_map_sanity_check()
1765 &addr, &end, p->name, p); in iomem_map_sanity_check()
1791 struct resource *p; in resource_is_exclusive() local
1794 for_each_resource(root, p, skip_children) { in resource_is_exclusive()
1795 if (p->start >= addr + size) in resource_is_exclusive()
1797 if (p->end < addr) { in resource_is_exclusive()
1810 if ((p->flags & exclusive_system_ram) == exclusive_system_ram) { in resource_is_exclusive()
1820 if (!strict_iomem_checks || !(p->flags & IORESOURCE_BUSY)) in resource_is_exclusive()
1823 || p->flags & IORESOURCE_EXCLUSIVE) { in resource_is_exclusive()