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