[PATCH v3 0/4] DT clock bindings
mturquette at ti.com
Mon Jul 2 21:30:22 EDT 2012
On Wed, Jun 27, 2012 at 5:54 AM, Rob Herring <robherring2 at gmail.com> wrote:
> On 06/21/2012 12:54 PM, Mike Turquette wrote:
>> On 20120621-10:00, Rob Herring wrote:
>>> On 06/21/2012 02:27 AM, Chris Ball wrote:
>>>> 2) Use alloc_bootmem() instead of kzalloc() in of_clk_add_provider(),
>>>> because we need to set up clocks during .init_early on ARM (which
>>>> happens pre-slab) so that they are available for platform init.
>>> This depends on 1 as the common clock code would have the same issue.
>>> Generally, the first place clocks are needed is the timer init. At that
>>> point, you can call kzalloc. This is where all the clock init used to be
>>> done until init_early was added and some platforms have moved their
>>> clock init. I don't think there was really ever much reason to move it
>>> other than to make the timer init function only deal with timer setup.
>> Hi Rob,
>> Just FYI I've been looking at using alloc_bootmem in the common clk code
>> as a way to get rid of the static initialization stuff (which only
>> existed due to very early initialization of timers).
> The slab is up at the time timers are initialized. The only real problem
> is mixing clock init into the timer init functions and clk init in
> init_early is cleaner in that regard.
I'm afraid I don't follow you when you say "slab is up at the time
timers are initialized". On some platforms I believe that timer
initialization takes place before slab is ready (.early_init).
>> The suggested change above to of_clk_add_provider would jive well with
>> my change to the common clk code.
> Are you planning this for 3.6? If not, then this can be addressed at the
> time the clk framework supports bootmem.
> I'm not so sure more users of bootmem are desired. There seems to be
> some effort/desire to remove it:
So after looking at those mails it seems using memblock_alloc would be
a better alternative. Did I get that right?
More information about the linux-arm-kernel