From: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
To: Hiroshi Doyu <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: Prashant Gaikwad
<pgaikwad-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
"mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org"
<mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH v4 2/9] clk: tegra: Add tegra specific clocks
Date: Wed, 16 Jan 2013 13:11:24 -0700 [thread overview]
Message-ID: <50F7096C.7020803@wwwdotorg.org> (raw)
In-Reply-To: <20130116.171242.2189136612266237422.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
On 01/16/2013 08:12 AM, Hiroshi Doyu wrote:
> Prashant Gaikwad <pgaikwad-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> wrote @ Fri, 11 Jan 2013 08:46:20 +0100:
>
> ....
>> diff --git a/drivers/clk/tegra/clk-audio-sync.c b/drivers/clk/tegra/clk-audio-sync.c
>> +#define to_clk_sync_source(_hw) \
>> + container_of(_hw, struct tegra_clk_sync_source, hw)
>
> Can we define "struct tegra_clk_sync_source" here if there's no need
> to expose this structure out?
In some cases, yes. However, some of the clock structs and ops variables
are re-used by multiple clock types in different files. For example,
struct tegra_clk_periph aggregates a struct tegra_clk_frac_div and a
struct tegra_clk_periph_gate. That means that at least some of the types
and ops variables must be declared in clk.h (or some header anyway). As
such, I'd rather just have all the types and ops variables declared
there for consistency.
>> +static int clk_frac_div_set_rate(struct clk_hw *hw, unsigned long rate,
>> + unsigned long parent_rate)
>> +{
>> + struct tegra_clk_frac_div *divider = to_clk_frac_div(hw);
>> + int div;
>> + unsigned long flags = 0;
>
> nit, is "flags" not needed to initialize here?
It avoids a compiler warning; the compiler doesn't that the if condition
that guards the path that uses flags is the same condition as the path
that initializes it. Or, it may be related to the fact that
spin_lock_irqsave() writes to the value through a pointer parameter, and
the compiler doesn't know it's an out-only parameter.
>> diff --git a/drivers/clk/tegra/clk-periph-gate.c b/drivers/clk/tegra/clk-periph-gate.c
>> diff --git a/drivers/clk/tegra/clk-periph-gate.c b/drivers/clk/tegra/clk-periph-gate.c
>> +#define to_clk_periph_gate(_hw) \
>> + container_of(_hw, struct tegra_clk_periph_gate, hw)
>
> For consistency, put "to_clk_periph_gate(_hw)" in "clk.h", then this
> can be used in clk-periph.c as well.
Sure. I moved all "to_clk_*()" macros to clk.h for consistency, since
the types are all there anyway.
>> +struct clk *tegra_clk_periph_gate(const char *name, const char *parent_name,
...
>> + gate = kzalloc(sizeof(struct tegra_clk_periph_gate), GFP_KERNEL);
>
> gate = kzalloc(sizeof(*gate), GFP_KERNEL) ?
I've already fixed all those up locally.
>> diff --git a/drivers/clk/tegra/clk-periph.c b/drivers/clk/tegra/clk-periph.c
>> +struct clk *tegra_clk_periph(const char *name, const char **parent_names,
>> + int num_parents, struct tegra_clk_periph *periph,
>> + void __iomem *clk_base, u32 offset)
>> +{
>> + struct clk *clk;
>> + struct clk_init_data init;
>> +
>> + init.name = name;
>> + init.ops = &tegra_clk_periph_ops;
>> + init.flags = 0;
>
> struct members in stack are expected to initialize 0.
Stack variables aren't initialized in C. In this case, since the
individual fields are being assigned via statements rather than an
initializer, everything has to be done explicitly.
>> diff --git a/drivers/clk/tegra/clk-pll-out.c b/drivers/clk/tegra/clk-pll-out.c
>> +#define pll_out_enb(p) (BIT(p->enb_bit_idx))
>> +#define pll_out_rst(p) (BIT(p->rst_bit_idx))
>
> I don't see much benefit from the above macros.
Meh. Do you feel strongly about this? I'm not really inclined to got
through and change these; there are a bunch of similar things in other
files, and it feels like it'd just be churn.
Anything I didn't explicitly say no to, I have implemented.
A /lot/ more of the original patch was quoted that was really necessary
to make your comments; it made wading through the email a little tiresome.
next prev parent reply other threads:[~2013-01-16 20:11 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-11 7:46 [PATCH v4 0/9] Migrate Tegra to common clock framework Prashant Gaikwad
2013-01-11 7:46 ` [PATCH v4 1/9] ARM: tegra: Add function to read chipid Prashant Gaikwad
2013-01-11 7:46 ` [PATCH v4 2/9] clk: tegra: Add tegra specific clocks Prashant Gaikwad
2013-01-14 7:28 ` Sivaram Nair
[not found] ` <1357890387-23245-3-git-send-email-pgaikwad-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-01-11 11:48 ` Hiroshi Doyu
[not found] ` <20130111.134820.1392079432650652356.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-01-11 21:35 ` Stephen Warren
[not found] ` <50F085A0.4090100-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-01-16 8:19 ` Hiroshi Doyu
[not found] ` <20130116.101906.399662310268585658.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-01-16 18:04 ` Stephen Warren
2013-01-16 12:31 ` Hiroshi Doyu
[not found] ` <20130116.143151.1531468192773974887.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-01-16 18:44 ` Stephen Warren
2013-01-16 15:12 ` Hiroshi Doyu
[not found] ` <20130116.171242.2189136612266237422.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-01-16 20:11 ` Stephen Warren [this message]
[not found] ` <50F7096C.7020803-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-01-17 5:03 ` Hiroshi Doyu
[not found] ` <20130117.070327.1625310713330263780.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-01-17 16:35 ` Stephen Warren
2013-01-11 7:46 ` [PATCH v4 3/9] arm: tegra: Move tegra_cpu_car.h to linux/clk/tegra.h Prashant Gaikwad
2013-01-11 7:46 ` [PATCH v4 4/9] ARM: tegra: Define Tegra20 CAR binding Prashant Gaikwad
2013-01-11 7:46 ` [PATCH v4 5/9] ARM: Tegra: Define Tegra30 " Prashant Gaikwad
[not found] ` <1357890387-23245-6-git-send-email-pgaikwad-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-01-16 11:28 ` Hiroshi Doyu
[not found] ` <20130116132856.2896df94f553f78273c4574c-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-01-16 17:30 ` Stephen Warren
[not found] ` <1357890387-23245-1-git-send-email-pgaikwad-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-01-11 7:46 ` [PATCH v4 6/9] clk: tegra: add clock support for tegra20 Prashant Gaikwad
2013-01-11 20:54 ` Stephen Warren
2013-01-11 7:46 ` [PATCH v4 7/9] clk: tegra: add clock support for tegra30 Prashant Gaikwad
[not found] ` <1357890387-23245-8-git-send-email-pgaikwad-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-01-11 12:17 ` Hiroshi Doyu
[not found] ` <20130111141725.ce3177ad04fc700186dc694d-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-01-11 21:40 ` Stephen Warren
[not found] ` <50F086E2.6010806-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-01-14 5:33 ` Hiroshi Doyu
2013-01-11 7:46 ` [PATCH v4 8/9] arm: tegra: Migrate to new clock code Prashant Gaikwad
2013-01-11 7:46 ` [PATCH v4 9/9] arm: tegra: Remove legacy " Prashant Gaikwad
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=50F7096C.7020803@wwwdotorg.org \
--to=swarren-3lzwwm7+weoh9zmkesr00q@public.gmane.org \
--cc=hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=pgaikwad-DDmLM1+adcrQT0dZR+AlfA@public.gmane.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