Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b693fffb authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt
Browse files

memblock: Remove memblock_find()



Nobody uses it anymore. It's semantics were ... weird

Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 1e2b9040
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -60,7 +60,6 @@ extern int memblock_is_memory(u64 addr);
extern int memblock_is_region_memory(u64 base, u64 size);
extern int __init memblock_is_reserved(u64 addr);
extern int memblock_is_region_reserved(u64 base, u64 size);
extern int memblock_find(struct memblock_region *res);

extern void memblock_dump_all(void);

+0 −32
Original line number Diff line number Diff line
@@ -531,35 +531,3 @@ int memblock_is_region_reserved(u64 base, u64 size)
	return memblock_overlaps_region(&memblock.reserved, base, size) >= 0;
}
/*
 * Given a <base, len>, find which memory regions belong to this range.
 * Adjust the request and return a contiguous chunk.
 */
int memblock_find(struct memblock_region *res)
{
	int i;
	u64 rstart, rend;

	rstart = res->base;
	rend = rstart + res->size - 1;

	for (i = 0; i < memblock.memory.cnt; i++) {
		u64 start = memblock.memory.regions[i].base;
		u64 end = start + memblock.memory.regions[i].size - 1;

		if (start > rend)
			return -1;

		if ((end >= rstart) && (start < rend)) {
			/* adjust the request */
			if (rstart < start)
				rstart = start;
			if (rend > end)
				rend = end;
			res->base = rstart;
			res->size = rend - rstart + 1;
			return 0;
		}
	}
	return -1;
}