ANDROID: GKI: Export memblock_free to drivers

On architectures that support the preservation of memblock metadata
after __init, allow drivers to call memblock_free() to free a
reservation made by early arch code. This is a hack to support the
freeing of bootsplash reservations passed to Linux by the bootloader.

(This should be reworked in future versions of Android; do not
cherry-pick this patch forward.)

Bug: 139653858
Bug: 174620135
Bug: 249340121
Change-Id: I32c0ee70c33c94deff70aa548896caa9978396fb
Signed-off-by: Alistair Delva <adelva@google.com>
(cherry picked from commit 2eeee9f41c0cddbc300d9b89bba6d498998b2498)
This commit is contained in:
Alistair Delva 2020-06-04 09:29:56 -07:00 committed by Treehugger Robot
parent c89be468f8
commit 1c6dc00657
2 changed files with 16 additions and 0 deletions

View File

@ -338834,6 +338834,15 @@ elf_symbol {
type_id: 0x01a85b76
full_name: "memblock_end_of_DRAM"
}
elf_symbol {
id: 0x4fb91c54
name: "memblock_free"
is_defined: true
symbol_type: FUNCTION
crc: 0xa6ecab47
type_id: 0x1567dd7e
full_name: "memblock_free"
}
elf_symbol {
id: 0xaa97e158
name: "memchr"
@ -369543,6 +369552,10 @@ symbols {
key: "memblock_end_of_DRAM"
value: 0x746374fa
}
symbol {
key: "memblock_free"
value: 0x4fb91c54
}
symbol {
key: "memchr"
value: 0xaa97e158

View File

@ -849,6 +849,9 @@ int __init_memblock memblock_phys_free(phys_addr_t base, phys_addr_t size)
kmemleak_free_part_phys(base, size);
return memblock_remove_range(&memblock.reserved, base, size);
}
#ifdef CONFIG_ARCH_KEEP_MEMBLOCK
EXPORT_SYMBOL_GPL(memblock_free);
#endif
int __init_memblock memblock_reserve(phys_addr_t base, phys_addr_t size)
{