From: Dan Carpenter <error27@gmail.com>
To: Jerome Brunet <jbrunet@baylibre.com>
Cc: Stephen Boyd <sboyd@kernel.org>,
Brian Masney <bmasney+clk@redhat.com>,
Jerome Brunet <jbrunet+clk@baylibre.com>,
linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/1] clk: Document of_clk_get_by_name() return values
Date: Wed, 16 Sep 2026 10:49:18 +0300 [thread overview]
Message-ID: <aqpJ_pupkr8HDIz2@stanley.mountain> (raw)
In-Reply-To: <1jzexhd58n.fsf@starbuckisacylon.baylibre.com>
On Wed, Sep 16, 2026 at 09:28:56AM +0200, Jerome Brunet wrote:
> On mar. 15 sept. 2026 at 19:38, Dan Carpenter <error27@gmail.com> wrote:
>
> > Callers should test the return from of_clk_get_by_name() with IS_ERR().
> > The function returns a valid clock on success and an error pointer on
> > failure; NULL is not a valid return value.
> >
> > Document this explicitly to prevent callers from treating NULL as a
> > separate failure case.
> >
> > Assisted-by: ChatGPT:gpt-5
> > Signed-off-by: Dan Carpenter <error27@gmail.com>
> > ---
> > There are a few other functions which look like they return NULL but
> > never actually do. This is one which has caused some confusion in
> > the past.
> >
> > drivers/clk/clk.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
> > index f1756fe59372..a71bcf780de4 100644
> > --- a/drivers/clk/clk.c
> > +++ b/drivers/clk/clk.c
> > @@ -5430,6 +5430,9 @@ EXPORT_SYMBOL(of_clk_get);
> > * This function parses the clocks and clock-names properties,
> > * and uses them to look up the struct clk from the registered list of clock
> > * providers.
> > + *
> > + * Returns: A clock pointer on success or an error pointer on failure. This
> > + * function never returns NULL.
>
> Thanks Dan. I was about to apply the change but it feels a bit strange
> to document what a function never does.
>
> Is this a documentation that should be added everywhere the return value
> is to be tested with IS_ERR() ?
>
> What about being more direct then:
>
> "Returns: A clock pointer on success or an error pointer on failure.
> Caller should test the return value with IS_ERR()"
First of all, I just want to confirm that actually it's true, right?
I've read the code but this isn't my background so I might have been
confused.
If it only returns an error pointer then, it's obvious that it should
only be tested with IS_ERR(). I would be fine with just saying the
first part:
Returns: A clock pointer on success or an error pointer on failure
regards,
dan carpenter
next prev parent reply other threads:[~2026-09-16 7:49 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1789451862.git.error27@gmail.com>
2026-09-15 16:38 ` [PATCH 1/1] clk: Document of_clk_get_by_name() return values Dan Carpenter
2026-09-15 16:49 ` sashiko-bot
2026-09-15 17:53 ` Dan Carpenter
2026-09-15 17:58 ` Dan Carpenter
2026-09-16 7:28 ` Jerome Brunet
2026-09-16 7:49 ` Dan Carpenter [this message]
2026-09-16 14:22 ` Jerome Brunet
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=aqpJ_pupkr8HDIz2@stanley.mountain \
--to=error27@gmail.com \
--cc=bmasney+clk@redhat.com \
--cc=jbrunet+clk@baylibre.com \
--cc=jbrunet@baylibre.com \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sboyd@kernel.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.