Lines Matching refs:entry
186 chk_conflict(struct memtype *new, struct memtype *entry, unsigned long *type) in chk_conflict() argument
188 if (new->type != entry->type) { in chk_conflict()
190 new->type = entry->type; in chk_conflict()
191 *type = entry->type; in chk_conflict()
197 list_for_each_entry_continue(entry, &memtype_list, nd) { in chk_conflict()
198 if (new->end <= entry->start) in chk_conflict()
200 else if (new->type != entry->type) in chk_conflict()
208 new->end, cattr_name(new->type), cattr_name(entry->type)); in chk_conflict()
320 struct memtype *new, *entry; in reserve_memtype() local
385 entry = cached_entry; in reserve_memtype()
387 entry = list_entry(&memtype_list, struct memtype, nd); in reserve_memtype()
391 list_for_each_entry_continue(entry, &memtype_list, nd) { in reserve_memtype()
392 if (end <= entry->start) { in reserve_memtype()
393 where = entry->nd.prev; in reserve_memtype()
396 } else if (start <= entry->start) { /* end > entry->start */ in reserve_memtype()
397 err = chk_conflict(new, entry, new_type); in reserve_memtype()
400 entry->start, entry->end); in reserve_memtype()
401 where = entry->nd.prev; in reserve_memtype()
406 } else if (start < entry->end) { /* start > entry->start */ in reserve_memtype()
407 err = chk_conflict(new, entry, new_type); in reserve_memtype()
410 entry->start, entry->end); in reserve_memtype()
411 cached_entry = list_entry(entry->nd.prev, in reserve_memtype()
418 list_for_each_entry_continue(entry, in reserve_memtype()
420 if (start <= entry->start) { in reserve_memtype()
421 where = entry->nd.prev; in reserve_memtype()
458 struct memtype *entry; in free_memtype() local
476 list_for_each_entry(entry, &memtype_list, nd) { in free_memtype()
477 if (entry->start == start && entry->end == end) { in free_memtype()
478 if (cached_entry == entry || cached_start == start) in free_memtype()
481 list_del(&entry->nd); in free_memtype()
482 kfree(entry); in free_memtype()