I plan to replace it with lib/bitmap.c bitmap_* based allocator (similar like it it is used by dma_declare_coherent_memory() and friends in drivers/base/dma-coherent.c). We need something really simple for CMA area management.
IMHO allocate_resource and friends a bit too heavy here, but good to know that such allocator also exists.
Not sure I'd class allocate_resource as heavyweight but providing it's using something that already exists rather than inventing yet another allocator.
This wants dealing with before it goes upstream though so the chaneges in lib/*c etc never have to reach mainline and then get changed back.
Alan