From: jonghwa3.lee@samsung.com
To: Arnd Bergmann <arnd@arndb.de>
Cc: linux-kernel@vger.kernel.org,
Mike Turquette <mturquette@linaro.org>,
H Hartley Sweeten <hsweetn@visionengravers.com>,
Mark Brown <broonie@opensource.wolfsonmicro.com>,
MyungJoo Ham <myungjoo.ham@samsung.com>,
Kyungmin Park <kyungmin.park@samsung.com>
Subject: Re: [PATCH] clock: max77686: Add driver for Maxim 77686 32KHz crystal oscillator
Date: Mon, 11 Jun 2012 14:05:11 +0900 [thread overview]
Message-ID: <4FD57C87.7000404@samsung.com> (raw)
In-Reply-To: <201206011613.33706.arnd@arndb.de>
Hi, Arnd.
Sorry for that reply is late. I had some personal reasons so i couldn't
check e-mail all last week. I just read your comments today.
On 2012년 06월 02일 01:13, Arnd Bergmann wrote:
> On Friday 01 June 2012, Jonghwa Lee wrote:
>> +
>> +#ifdef COMMON_CONFIG_CLK
>
> Two comments on this one:
>
> 1. It should be CONFIG_COMMON_CLK, not COMMON_CONFIG_CLK, I suppose. The symbol
> you are testing for is never defined so your code does not even get built.
> I suppose you did not test the version you are sending ...
>
> 2. There is no use in enclosing an entire file in #ifdef. Instead, make the Kconfig
> symbol depend on COMMON_CLK.
>
I did build test only without #ifdef statement before upload. And i
wrote this line right before send the code. I made mistake at that time.
Anyway, I'll change this condition as you commented.
>> +#define to_max77686_clk(__name) container_of(hw, \
>> + struct max77686_clk, __name)
>
> This use of container_of() is very unusual and confusing, because the argument
> into your macro is the member of the struct, not the variable that you are basing
> from. You should not need the macro at all, so please try to remove it.
>
Yes, i agree that this macro makes some confuse.
>> +struct max77686_clk {
>> + struct max77686_dev *iodev;
>> + struct clk_hw clk32khz_ap_hw;
>> + struct clk_hw clk32khz_cp_hw;
>> + struct clk_hw clk32khz_pmic_hw;
>> +};
>> +
>> +static struct clk *clk32khz_ap;
>> +static struct clk *clk32khz_cp;
>> +static struct clk *clk32khz_pmic;
>> +static char *max77686_clk[] = {
>> + "32khap",
>> + "32khcp",
>> + "p32kh",
>> +};
>
> With these static definitions, you can only have a single max77686 device in the
> system. Better remove these symbols.
Okay, I'll apply it.
>
>> +static struct max77686_clk *get_max77686_clk(struct clk_hw *hw)
>> +{
>> + struct clk *clk = hw->clk;
>> + if (clk == clk32khz_ap)
>> + return to_max77686_clk(clk32khz_ap_hw);
>> + else if (clk == clk32khz_cp)
>> + return to_max77686_clk(clk32khz_cp_hw);
>> + else if (clk == clk32khz_pmic)
>> + return to_max77686_clk(clk32khz_pmic_hw);
>> + else
>> + return NULL;
>> +}
>
> I can only assume that you meant this to be
>
> struct max77686_clk {
> struct max77686_dev *iodev;
> u32 mask;
> struct clk_hw hw;
> };
> static struct max77686_clk *get_max77686_clk(struct clk_hw *hw)
> {
> return container_of(hw, struct max77686_clk, hw)->iodev;
> }
>
> You probably misunderstood the person who was suggesting you use
> container_of(). Note that this function is so simple that you
> probably don't even need it: just open-code the container_of.
>
I think to_max77686_clk macro makes you uncomfortable, I'll modify them
with considering your comments. And your get_max77668_clk() return wrong
type pointer since it has to return struct max77696_clk pointer.
Thanks.
next prev parent reply other threads:[~2012-06-11 5:05 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-01 9:08 [PATCH] clock: max77686: Add driver for Maxim 77686 32KHz crystal oscillator Jonghwa Lee
2012-06-01 16:13 ` Arnd Bergmann
2012-06-01 16:21 ` Mark Brown
2012-06-02 2:50 ` Arnd Bergmann
2012-06-11 5:05 ` jonghwa3.lee [this message]
-- strict thread matches above, loose matches on Subject: below --
2012-08-28 8:54 [PATCH] clock: max77686: Add driver for Maxim 77686 32Khz " Jonghwa Lee
2012-09-07 0:04 ` Mike Turquette
2012-09-10 1:54 ` jonghwa3.lee
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=4FD57C87.7000404@samsung.com \
--to=jonghwa3.lee@samsung.com \
--cc=arnd@arndb.de \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=hsweetn@visionengravers.com \
--cc=kyungmin.park@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mturquette@linaro.org \
--cc=myungjoo.ham@samsung.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.