From: Matthias Brugger <matthias.bgg@gmail.com>
To: Weiyi Lu <weiyi.lu@mediatek.com>
Cc: Nicolas Boichat <drinkcat@chromium.org>,
Stephen Boyd <sboyd@kernel.org>,
James Liao <jamesjj.liao@mediatek.com>,
srv_heupstream@mediatek.com, linux-kernel@vger.kernel.org,
stable@vger.kernel.org, Fan Chen <fan.chen@mediatek.com>,
linux-mediatek@lists.infradead.org,
Owen Chen <owen.chen@mediatek.com>,
linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v1] clk: mediatek: assign the initial value to clk_init_data of mtk_mux
Date: Tue, 26 May 2020 17:42:22 +0200 [thread overview]
Message-ID: <8aa4acd2-dcc3-1eb8-e16f-b4e987808602@gmail.com> (raw)
In-Reply-To: <1590460982.28324.17.camel@mtksdaap41>
Hi Weiyi,
On 26/05/2020 04:43, Weiyi Lu wrote:
> On Mon, 2020-05-25 at 11:08 +0200, Matthias Brugger wrote:
>>
>> On 25/05/2020 08:41, Weiyi Lu wrote:
>>> It'd be dangerous when struct clk_core have new memebers.
>>> Add the missing initial value to clk_init_data.
>>>
>>
>> Sorry I don't really understand this commit message, can please explain.
>> In any case if this is a problem, then we probably we should fix it for all drivers.
>> Apart from drivers/clk/mediatek/clk-cpumux.c
>>
>
> Actually, we were looking into an android kernel patch "ANDROID: GKI:
> clk: Add support for voltage voting" [1]
>
> In this patch, there adds a new member struct clk_vdd_class *vdd_class;
> in struct clk_init_data and struct clk_core
>
> And then in clk_register(...)
> core->vdd_class = hw->init->vdd_class;
>
> In many clock APIs, it will check the core->vdd_class to select the
> correct control flow.
> So, if we don't assign an initial value to clk_init_data of mtk_mux
> clock type, something might go wrong. And assigning an initial value
> might be the easiest and good way to avoid such problem if any new clock
> support added in the future.
>
Thanks for your explanation. You mean that as clk_init_data is on the stack it
can have random values, and would lead to the fact that vdd_class is interpreted
as allocated although it should be NULL.
Sounds reasonable to me. You might want to resend with a better commit message.
Feel free to add my
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Regards,
Matthias
> [1] https://android-review.googlesource.com/c/kernel/common/+/1278046
>
>> It's a widely used pattern:
>> $ git grep "struct clk_init_data init;"| wc -l
>> 235
>>
>> Regards,
>> Matthias
>>
>>> Fixes: a3ae549917f1 ("clk: mediatek: Add new clkmux register API")
>>> Cc: <stable@vger.kernel.org>
>>> Signed-off-by: Weiyi Lu <weiyi.lu@mediatek.com>
>>> ---
>>> drivers/clk/mediatek/clk-mux.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/clk/mediatek/clk-mux.c b/drivers/clk/mediatek/clk-mux.c
>>> index 76f9cd0..14e127e 100644
>>> --- a/drivers/clk/mediatek/clk-mux.c
>>> +++ b/drivers/clk/mediatek/clk-mux.c
>>> @@ -160,7 +160,7 @@ struct clk *mtk_clk_register_mux(const struct mtk_mux *mux,
>>> spinlock_t *lock)
>>> {
>>> struct mtk_clk_mux *clk_mux;
>>> - struct clk_init_data init;
>>> + struct clk_init_data init = {};
>>> struct clk *clk;
>>>
>>> clk_mux = kzalloc(sizeof(*clk_mux), GFP_KERNEL);
>>>
>
WARNING: multiple messages have this Message-ID (diff)
From: Matthias Brugger <matthias.bgg@gmail.com>
To: Weiyi Lu <weiyi.lu@mediatek.com>
Cc: James Liao <jamesjj.liao@mediatek.com>,
Nicolas Boichat <drinkcat@chromium.org>,
srv_heupstream@mediatek.com, Stephen Boyd <sboyd@kernel.org>,
linux-kernel@vger.kernel.org, stable@vger.kernel.org,
Fan Chen <fan.chen@mediatek.com>,
linux-mediatek@lists.infradead.org,
Owen Chen <owen.chen@mediatek.com>,
linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v1] clk: mediatek: assign the initial value to clk_init_data of mtk_mux
Date: Tue, 26 May 2020 17:42:22 +0200 [thread overview]
Message-ID: <8aa4acd2-dcc3-1eb8-e16f-b4e987808602@gmail.com> (raw)
In-Reply-To: <1590460982.28324.17.camel@mtksdaap41>
Hi Weiyi,
On 26/05/2020 04:43, Weiyi Lu wrote:
> On Mon, 2020-05-25 at 11:08 +0200, Matthias Brugger wrote:
>>
>> On 25/05/2020 08:41, Weiyi Lu wrote:
>>> It'd be dangerous when struct clk_core have new memebers.
>>> Add the missing initial value to clk_init_data.
>>>
>>
>> Sorry I don't really understand this commit message, can please explain.
>> In any case if this is a problem, then we probably we should fix it for all drivers.
>> Apart from drivers/clk/mediatek/clk-cpumux.c
>>
>
> Actually, we were looking into an android kernel patch "ANDROID: GKI:
> clk: Add support for voltage voting" [1]
>
> In this patch, there adds a new member struct clk_vdd_class *vdd_class;
> in struct clk_init_data and struct clk_core
>
> And then in clk_register(...)
> core->vdd_class = hw->init->vdd_class;
>
> In many clock APIs, it will check the core->vdd_class to select the
> correct control flow.
> So, if we don't assign an initial value to clk_init_data of mtk_mux
> clock type, something might go wrong. And assigning an initial value
> might be the easiest and good way to avoid such problem if any new clock
> support added in the future.
>
Thanks for your explanation. You mean that as clk_init_data is on the stack it
can have random values, and would lead to the fact that vdd_class is interpreted
as allocated although it should be NULL.
Sounds reasonable to me. You might want to resend with a better commit message.
Feel free to add my
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Regards,
Matthias
> [1] https://android-review.googlesource.com/c/kernel/common/+/1278046
>
>> It's a widely used pattern:
>> $ git grep "struct clk_init_data init;"| wc -l
>> 235
>>
>> Regards,
>> Matthias
>>
>>> Fixes: a3ae549917f1 ("clk: mediatek: Add new clkmux register API")
>>> Cc: <stable@vger.kernel.org>
>>> Signed-off-by: Weiyi Lu <weiyi.lu@mediatek.com>
>>> ---
>>> drivers/clk/mediatek/clk-mux.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/clk/mediatek/clk-mux.c b/drivers/clk/mediatek/clk-mux.c
>>> index 76f9cd0..14e127e 100644
>>> --- a/drivers/clk/mediatek/clk-mux.c
>>> +++ b/drivers/clk/mediatek/clk-mux.c
>>> @@ -160,7 +160,7 @@ struct clk *mtk_clk_register_mux(const struct mtk_mux *mux,
>>> spinlock_t *lock)
>>> {
>>> struct mtk_clk_mux *clk_mux;
>>> - struct clk_init_data init;
>>> + struct clk_init_data init = {};
>>> struct clk *clk;
>>>
>>> clk_mux = kzalloc(sizeof(*clk_mux), GFP_KERNEL);
>>>
>
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
WARNING: multiple messages have this Message-ID (diff)
From: Matthias Brugger <matthias.bgg@gmail.com>
To: Weiyi Lu <weiyi.lu@mediatek.com>
Cc: James Liao <jamesjj.liao@mediatek.com>,
Nicolas Boichat <drinkcat@chromium.org>,
srv_heupstream@mediatek.com, Stephen Boyd <sboyd@kernel.org>,
linux-kernel@vger.kernel.org, stable@vger.kernel.org,
Fan Chen <fan.chen@mediatek.com>,
linux-mediatek@lists.infradead.org,
Owen Chen <owen.chen@mediatek.com>,
linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v1] clk: mediatek: assign the initial value to clk_init_data of mtk_mux
Date: Tue, 26 May 2020 17:42:22 +0200 [thread overview]
Message-ID: <8aa4acd2-dcc3-1eb8-e16f-b4e987808602@gmail.com> (raw)
In-Reply-To: <1590460982.28324.17.camel@mtksdaap41>
Hi Weiyi,
On 26/05/2020 04:43, Weiyi Lu wrote:
> On Mon, 2020-05-25 at 11:08 +0200, Matthias Brugger wrote:
>>
>> On 25/05/2020 08:41, Weiyi Lu wrote:
>>> It'd be dangerous when struct clk_core have new memebers.
>>> Add the missing initial value to clk_init_data.
>>>
>>
>> Sorry I don't really understand this commit message, can please explain.
>> In any case if this is a problem, then we probably we should fix it for all drivers.
>> Apart from drivers/clk/mediatek/clk-cpumux.c
>>
>
> Actually, we were looking into an android kernel patch "ANDROID: GKI:
> clk: Add support for voltage voting" [1]
>
> In this patch, there adds a new member struct clk_vdd_class *vdd_class;
> in struct clk_init_data and struct clk_core
>
> And then in clk_register(...)
> core->vdd_class = hw->init->vdd_class;
>
> In many clock APIs, it will check the core->vdd_class to select the
> correct control flow.
> So, if we don't assign an initial value to clk_init_data of mtk_mux
> clock type, something might go wrong. And assigning an initial value
> might be the easiest and good way to avoid such problem if any new clock
> support added in the future.
>
Thanks for your explanation. You mean that as clk_init_data is on the stack it
can have random values, and would lead to the fact that vdd_class is interpreted
as allocated although it should be NULL.
Sounds reasonable to me. You might want to resend with a better commit message.
Feel free to add my
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Regards,
Matthias
> [1] https://android-review.googlesource.com/c/kernel/common/+/1278046
>
>> It's a widely used pattern:
>> $ git grep "struct clk_init_data init;"| wc -l
>> 235
>>
>> Regards,
>> Matthias
>>
>>> Fixes: a3ae549917f1 ("clk: mediatek: Add new clkmux register API")
>>> Cc: <stable@vger.kernel.org>
>>> Signed-off-by: Weiyi Lu <weiyi.lu@mediatek.com>
>>> ---
>>> drivers/clk/mediatek/clk-mux.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/clk/mediatek/clk-mux.c b/drivers/clk/mediatek/clk-mux.c
>>> index 76f9cd0..14e127e 100644
>>> --- a/drivers/clk/mediatek/clk-mux.c
>>> +++ b/drivers/clk/mediatek/clk-mux.c
>>> @@ -160,7 +160,7 @@ struct clk *mtk_clk_register_mux(const struct mtk_mux *mux,
>>> spinlock_t *lock)
>>> {
>>> struct mtk_clk_mux *clk_mux;
>>> - struct clk_init_data init;
>>> + struct clk_init_data init = {};
>>> struct clk *clk;
>>>
>>> clk_mux = kzalloc(sizeof(*clk_mux), GFP_KERNEL);
>>>
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-05-26 15:42 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-25 6:41 [PATCH v1] clk: mediatek: assign the initial value to clk_init_data of mtk_mux Weiyi Lu
2020-05-25 6:41 ` Weiyi Lu
2020-05-25 6:41 ` Weiyi Lu
2020-05-25 9:08 ` Matthias Brugger
2020-05-25 9:08 ` Matthias Brugger
2020-05-25 9:08 ` Matthias Brugger
2020-05-26 2:43 ` Weiyi Lu
2020-05-26 2:43 ` Weiyi Lu
2020-05-26 2:43 ` Weiyi Lu
2020-05-26 15:42 ` Matthias Brugger [this message]
2020-05-26 15:42 ` Matthias Brugger
2020-05-26 15:42 ` Matthias Brugger
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=8aa4acd2-dcc3-1eb8-e16f-b4e987808602@gmail.com \
--to=matthias.bgg@gmail.com \
--cc=drinkcat@chromium.org \
--cc=fan.chen@mediatek.com \
--cc=jamesjj.liao@mediatek.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=owen.chen@mediatek.com \
--cc=sboyd@kernel.org \
--cc=srv_heupstream@mediatek.com \
--cc=stable@vger.kernel.org \
--cc=weiyi.lu@mediatek.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.