From: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
To: Mike Turquette <mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Prashant Gaikwad
<pgaikwad-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
Laxman Dewangan
<ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH] clk: tegra: ensure all provided clock values are valid cookies
Date: Tue, 22 Jan 2013 11:38:28 -0700 [thread overview]
Message-ID: <50FEDCA4.3050407@wwwdotorg.org> (raw)
In-Reply-To: <20130122182934.24671.1867@quantum>
On 01/22/2013 11:29 AM, Mike Turquette wrote:
> Quoting Stephen Warren (2013-01-14 10:16:40)
>> From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>>
>> Tegra's clock implementation uses pointers as the clock cookies, and
>> hence chooses to make NULL an invalid clock cookie. However, there are
>> gaps in the assigned device tree clock IDs, and hence the array mapping
>> DT clock ID contains entries with NULL values (uninitialized BSS) unless
>> explicit action is taken. This patch enhances the Tegra clock code to
>> detect this case and explicitly initialize those lookup table entries to
>> an error value. This prevents clk_get() from ever returning NULL. Hence,
>> Tegra's clock APIs don't have to check the clock cookie they're passed
>> for NULL.
>>
>> Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>> ---
>> Mike, this also will need to go through the Tegra tree; just looking for
>> any review/ack from you. Thanks.
>
> Stephen,
>
> I think this is a bit strange. Will you have gaps in the DT clock id's
> forever or is this a temporary issue?
Forever as far as I know. Since the clock IDs are just arbitrary tokens,
I don't see any particular need for them to be strictly packed.
> Also it is important than any driver using the clock api does not
> dereference the struct clk pointer and assume that a NULL clk is
> invalid. I know that this series doesn't imply any such thing but I
> wanted to state that anyways.
Right. This ensures that clk_get() returns an IS_ERR() pointer, or a
valid cookie that the clock driver is prepared to handle (which doesn't
include NULL).
> Also are you planning to roll this into the existing tegra ccf series?
It's already rolled into the latest version of the series which I posted.
WARNING: multiple messages have this Message-ID (diff)
From: swarren@wwwdotorg.org (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] clk: tegra: ensure all provided clock values are valid cookies
Date: Tue, 22 Jan 2013 11:38:28 -0700 [thread overview]
Message-ID: <50FEDCA4.3050407@wwwdotorg.org> (raw)
In-Reply-To: <20130122182934.24671.1867@quantum>
On 01/22/2013 11:29 AM, Mike Turquette wrote:
> Quoting Stephen Warren (2013-01-14 10:16:40)
>> From: Stephen Warren <swarren@nvidia.com>
>>
>> Tegra's clock implementation uses pointers as the clock cookies, and
>> hence chooses to make NULL an invalid clock cookie. However, there are
>> gaps in the assigned device tree clock IDs, and hence the array mapping
>> DT clock ID contains entries with NULL values (uninitialized BSS) unless
>> explicit action is taken. This patch enhances the Tegra clock code to
>> detect this case and explicitly initialize those lookup table entries to
>> an error value. This prevents clk_get() from ever returning NULL. Hence,
>> Tegra's clock APIs don't have to check the clock cookie they're passed
>> for NULL.
>>
>> Signed-off-by: Stephen Warren <swarren@nvidia.com>
>> ---
>> Mike, this also will need to go through the Tegra tree; just looking for
>> any review/ack from you. Thanks.
>
> Stephen,
>
> I think this is a bit strange. Will you have gaps in the DT clock id's
> forever or is this a temporary issue?
Forever as far as I know. Since the clock IDs are just arbitrary tokens,
I don't see any particular need for them to be strictly packed.
> Also it is important than any driver using the clock api does not
> dereference the struct clk pointer and assume that a NULL clk is
> invalid. I know that this series doesn't imply any such thing but I
> wanted to state that anyways.
Right. This ensures that clk_get() returns an IS_ERR() pointer, or a
valid cookie that the clock driver is prepared to handle (which doesn't
include NULL).
> Also are you planning to roll this into the existing tegra ccf series?
It's already rolled into the latest version of the series which I posted.
next prev parent reply other threads:[~2013-01-22 18:38 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-14 18:16 [PATCH] clk: tegra: ensure all provided clock values are valid cookies Stephen Warren
2013-01-14 18:16 ` Stephen Warren
2013-01-22 18:29 ` Mike Turquette
2013-01-22 18:29 ` Mike Turquette
2013-01-22 18:38 ` Stephen Warren [this message]
2013-01-22 18:38 ` Stephen Warren
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=50FEDCA4.3050407@wwwdotorg.org \
--to=swarren-3lzwwm7+weoh9zmkesr00q@public.gmane.org \
--cc=ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@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 \
--cc=swarren-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 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.