From: swarren@wwwdotorg.org (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V2 2/3] ARM: tegra: get PMC clock source from DT
Date: Wed, 20 Mar 2013 09:51:33 -0600 [thread overview]
Message-ID: <5149DB05.5000906@wwwdotorg.org> (raw)
In-Reply-To: <1363773608.5697.8.camel@jlo-ubuntu-64.nvidia.com>
On 03/20/2013 04:00 AM, Joseph Lo wrote:
> On Wed, 2013-03-20 at 00:40 +0800, Stephen Warren wrote:
>> On 03/18/2013 02:09 AM, Joseph Lo wrote:
>>> The clock source of PMC should be PCLK and gotten from DT.
>>>
>>> Signed-off-by: Joseph Lo <josephl@nvidia.com>
>>> ---
>>> V2:
>>> * new in this change
>>
>> s/change/series/ ???
>>
>>> diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c
>>
>>> void __init tegra_dt_init_irq(void)
>>> {
>>> tegra_clocks_init();
>>> + tegra_pmc_init();
>>> tegra_init_irq();
>>> irqchip_init();
>>> }
>>> @@ -100,7 +101,6 @@ void __init tegra_init_early(void)
>>> tegra_apb_io_init();
>>> tegra_init_fuse();
>>> tegra_init_cache();
>>> - tegra_pmc_init();
>>
>> This change isn't mentioned in the commit description.
>>
>> Why is this change needed? We should minimize the amount of code in
>> tegra_dt_init_irq(), not add more code there.
>
> The clocks only available after tegra_clocks_init(). If I can keep the
> PMC dt node somewhere in PMC driver, then I can get the clock later.
Oh right. For some reason I thought that init_irq was executed before
init_early.
I guess this is OK for now, but I wonder if we shouldn't create a
tegra_init_machine() that tegra.c:tegra_dt_init() can call before
creating all the devices, and have that call both tegra_clocks_init()
and tegra_pmc_init(). But, we can leave that until a later cleanup patch
once we've thought it through a bit more.
>>> diff --git a/arch/arm/mach-tegra/pmc.c b/arch/arm/mach-tegra/pmc.c
>>
>>> @@ -151,6 +153,8 @@ static void tegra_pmc_parse_dt(void)
>>>
>>> tegra_pmc_invert_interrupt = of_property_read_bool(np,
>>> "nvidia,invert-interrupt");
>>> + tegra_pclk = of_clk_get(np, 0);
>>> + WARN_ON_ONCE(IS_ERR(tegra_pclk));
>>
>> Why WARN_ON_ONCE(); is tegra_pmc_parse_dt() called more than once?
>>
>> Can the code continue if IS_ERR(tegra_pclk), or is that fatal?
>
> The code is still OK just want to warn people that the PMC DT node
> needs PCLK clock info.
So perhaps s/WARN_ON_ONCE/WARN_ON/? No need to explicitly use a macro
that only emits the warning once if the code path is only executed once.
next prev parent reply other threads:[~2013-03-20 15:51 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-18 8:09 [PATCH V2 0/3] ARM: tegra: add clock source for PMC Joseph Lo
2013-03-18 8:09 ` [PATCH V2 1/3] ARM: dts: " Joseph Lo
2013-03-19 16:42 ` Stephen Warren
2013-03-20 10:12 ` Joseph Lo
2013-03-20 15:54 ` Stephen Warren
2013-03-18 8:09 ` [PATCH V2 2/3] ARM: tegra: get PMC clock source from DT Joseph Lo
2013-03-19 16:40 ` Stephen Warren
2013-03-20 10:00 ` Joseph Lo
2013-03-20 15:51 ` Stephen Warren [this message]
2013-03-18 8:09 ` [PATCH V2 3/3] ARM: tegra: moving the CPU power timer function to PMC driver Joseph Lo
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=5149DB05.5000906@wwwdotorg.org \
--to=swarren@wwwdotorg.org \
--cc=linux-arm-kernel@lists.infradead.org \
/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;
as well as URLs for NNTP newsgroup(s).