Lines Matching refs:p
53 static struct resource *next_resource(struct resource *p, bool skip_children) in next_resource() argument
55 if (!skip_children && p->child) in next_resource()
56 return p->child; in next_resource()
57 while (!p->sibling && p->parent) in next_resource()
58 p = p->parent; in next_resource()
59 return p->sibling; in next_resource()
73 struct resource *p; in r_start() local
77 for_each_resource(root, p, false) { in r_start()
82 return p; in r_start()
87 struct resource *p = v; in r_next() local
91 return (void *)next_resource(p, false); in r_next()
103 struct resource *r = v, *p; in r_show() local
108 for (depth = 0, p = r; depth < MAX_IORES_LEVEL; depth++, p = p->parent) in r_show()
109 if (p->parent == root) in r_show()
167 struct resource *tmp, **p; in __request_resource() local
175 p = &root->child; in __request_resource()
177 tmp = *p; in __request_resource()
180 *p = new; in __request_resource()
184 p = &tmp->sibling; in __request_resource()
193 struct resource *tmp, **p, *chd; in __release_resource() local
195 p = &old->parent->child; in __release_resource()
197 tmp = *p; in __release_resource()
202 *p = tmp->sibling; in __release_resource()
209 *p = tmp->child; in __release_resource()
215 p = &tmp->sibling; in __release_resource()
222 struct resource *tmp, *p; in __release_child_resources() local
225 p = r->child; in __release_child_resources()
227 while (p) { in __release_child_resources()
228 tmp = p; in __release_child_resources()
229 p = p->sibling; in __release_child_resources()
321 struct resource *p; in find_next_iomem_res() local
331 for_each_resource(&iomem_resource, p, false) { in find_next_iomem_res()
333 if (p->start > end) { in find_next_iomem_res()
334 p = NULL; in find_next_iomem_res()
339 if (p->end < start) in find_next_iomem_res()
342 if ((p->flags & flags) != flags) in find_next_iomem_res()
344 if ((desc != IORES_DESC_NONE) && (desc != p->desc)) in find_next_iomem_res()
351 if (p) { in find_next_iomem_res()
354 .start = max(start, p->start), in find_next_iomem_res()
355 .end = min(end, p->end), in find_next_iomem_res()
356 .flags = p->flags, in find_next_iomem_res()
357 .desc = p->desc, in find_next_iomem_res()
358 .parent = p->parent, in find_next_iomem_res()
363 return p ? 0 : -ENODEV; in find_next_iomem_res()
542 struct resource *p, *dp; in __region_intersects() local
549 for (p = parent->child; p ; p = p->sibling) { in __region_intersects()
550 if (!resource_overlaps(p, &res)) in __region_intersects()
552 is_type = (p->flags & flags) == flags && in __region_intersects()
553 (desc == IORES_DESC_NONE || desc == p->desc); in __region_intersects()
571 ostart = max(res.start, p->start); in __region_intersects()
572 oend = min(res.end, p->end); in __region_intersects()
573 for_each_resource(p, dp, false) { in __region_intersects()
1343 struct resource **p; in __release_region() local
1346 p = &parent->child; in __release_region()
1352 struct resource *res = *p; in __release_region()
1358 p = &res->child; in __release_region()
1363 *p = res->sibling; in __release_region()
1370 p = &res->sibling; in __release_region()
1404 struct resource **p; in release_mem_region_adjustable() local
1422 p = &parent->child; in release_mem_region_adjustable()
1425 while ((res = *p)) { in release_mem_region_adjustable()
1431 p = &res->sibling; in release_mem_region_adjustable()
1439 p = &res->child; in release_mem_region_adjustable()
1446 *p = res->sibling; in release_mem_region_adjustable()
1734 struct resource *p; in iomem_map_sanity_check() local
1738 for_each_resource(&iomem_resource, p, false) { in iomem_map_sanity_check()
1743 if (p->start > end) in iomem_map_sanity_check()
1745 if (p->end < addr) in iomem_map_sanity_check()
1747 if (PFN_DOWN(p->start) <= PFN_DOWN(addr) && in iomem_map_sanity_check()
1748 PFN_DOWN(p->end) >= PFN_DOWN(end)) in iomem_map_sanity_check()
1756 if (p->flags & IORESOURCE_BUSY) in iomem_map_sanity_check()
1760 &addr, &end, p->name, p); in iomem_map_sanity_check()
1786 struct resource *p; in resource_is_exclusive() local
1789 for_each_resource(root, p, skip_children) { in resource_is_exclusive()
1790 if (p->start >= addr + size) in resource_is_exclusive()
1792 if (p->end < addr) { in resource_is_exclusive()
1805 if ((p->flags & exclusive_system_ram) == exclusive_system_ram) { in resource_is_exclusive()
1815 if (!strict_iomem_checks || !(p->flags & IORESOURCE_BUSY)) in resource_is_exclusive()
1818 || p->flags & IORESOURCE_EXCLUSIVE) { in resource_is_exclusive()