On Thu, Jun 21, 2012 at 03:32:04AM -0400, Chris Ball wrote:
When of_clk_add_provider() is used at boot time (during .init_early on
ARM, in the motivating case for this patch), kzalloc() cannot be used
because slab isn't up yet.
Signed-off-by: Chris Ball <redacted>
I wouldn't use alloc_bootmem() unconditionally for this, as you have no
idea where other platforms may wire the call site up. slab is also
available a lot earlier now than it used to be, so many places that
required bootmem pages previously can get away with slab allocations now.
You could rework this as:
if (slab_is_available())
cp = kzalloc(...)
else
cp = alloc_bootmem(...)
and then it doesn't matter when and where it gets called.