ARM/DT: registering clks from DT in .init_early
Jamie Iles
jamie at jamieiles.com
Fri Jun 10 05:28:49 EST 2011
On Thu, Jun 09, 2011 at 05:45:57PM +0100, Jamie Iles wrote:
> I'm currently working on moving our platform to device tree with the aim
> of mainlining it. Before device tree we registered the clks in the
> .init_early machine callback which is fine as the clks are static data.
> I'm now trying to dynamically register these clks from the device tree
> but the slab allocator isn't available at this stage so I can't allocate
> them dynamically.
>
> Am I heading in the wrong direction here? We currently get the
> clocksource and clock event frequency from a clk so I don't think this
> can be made later (though I guess this could come from device tree
> instead).
OK, I found http://permalink.gmane.org/gmane.linux.ports.arm.kernel/105261
which describes the issue. I've changed to alloc_bootmem() which Grant
suggested in that thread and that does resolve the crash, however
of_clk_add_provider() uses kzalloc() and I can't help but feel that it's
going to get a bit too messy doing it this way.
Jamie
More information about the devicetree-discuss
mailing list