From: Peter De Schrijver <pdeschrijver@nvidia.com>
To: "Turquette, Mike" <mturquette@ti.com>
Cc: Prashant Gaikwad <pgaikwad@nvidia.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: Clock register in early init
Date: Mon, 21 May 2012 11:46:42 +0300 [thread overview]
Message-ID: <20120521084642.GV20304@tbergstrom-lnx.Nvidia.com> (raw)
In-Reply-To: <CAJOA=zM_o1Nqw55xxFvw6KssM50Q+7yyo41rUSH2Aoo1neTMjg@mail.gmail.com>
>
> On OMAP I think the only "gotcha" is setting up the timer. One
> solution is to open code the register reads and the rate calculation
> in the timer code. That is ugly... but it works.
>
> > Which advantages do you see in dynamically allocating all this?
> >
>
> There are many but I'll name a couple. The most significant point is
> that we can avoid exposing the definition of struct clk if we
> dynamically allocate stuff. One can use struct clk_hw_init to
> statically initialize data, or instead rely on direct calls to
> clk_register with a bunch of parameters.
>
Which means if you make a mistake in specifying parents for example, it will
only fail at runtime, possibly before any console is active. With static
initialization, this will fail at compiletime. Much easier to debug.
> Another point is that copying the data at registration-time makes
> __initdata possible. I haven't done the math yet to see if this
> really makes a difference. However if we start doing single zImage's
> with multiple different ARM SoCs then this could recover some pages.
>
On the other hand most clock structures are small, so there will be internal
fragmentation. Also the arrays of parent clock pointers can be shared between
different clocks. We have about 70 muxes in Tegra30 and 12 different parent
arrays.
Cheers,
Peter.
next prev parent reply other threads:[~2012-05-21 8:47 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1337227884.2066.9.camel@pgaikwad-dt2>
[not found] ` <20120517062131.GA9305@gmail.com>
2012-05-18 4:48 ` Prashant Gaikwad
2012-05-18 11:21 ` Peter De Schrijver
2012-05-18 20:17 ` Turquette, Mike
2012-05-21 8:46 ` Peter De Schrijver [this message]
2012-05-21 18:05 ` Turquette, Mike
2012-05-22 11:15 ` Peter De Schrijver
2012-05-22 9:20 ` Ben Dooks
2012-05-22 12:08 ` Peter De Schrijver
2012-05-22 17:37 ` Turquette, Mike
2012-05-23 9:19 ` Peter De Schrijver
2012-05-23 16:20 ` Turquette, Mike
2012-05-24 1:02 ` Paul Mundt
2012-05-24 15:51 ` Turquette, Mike
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120521084642.GV20304@tbergstrom-lnx.Nvidia.com \
--to=pdeschrijver@nvidia.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mturquette@ti.com \
--cc=pgaikwad@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®