From: Rob Herring <robh@kernel.org>
To: John Hubbard <jhubbard@nvidia.com>
Cc: "Remo Senekowitsch" <remo@buenzli.dev>,
"Danilo Krummrich" <dakr@kernel.org>,
"Dirk Behme" <dirk.behme@gmail.com>,
"Saravana Kannan" <saravanak@google.com>,
"Miguel Ojeda" <ojeda@kernel.org>,
"Alex Gaynor" <alex.gaynor@gmail.com>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <benno.lossin@proton.me>,
"Andreas Hindborg" <a.hindborg@kernel.org>,
"Alice Ryhl" <aliceryhl@google.com>,
"Trevor Gross" <tmgross@umich.edu>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Dirk Behme" <dirk.behme@de.bosch.com>,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
rust-for-linux@vger.kernel.org
Subject: Re: [PATCH v3 3/7] rust: property: Introduce PropertyGuard
Date: Mon, 28 Apr 2025 15:18:21 -0500 [thread overview]
Message-ID: <20250428201821.GA1572343-robh@kernel.org> (raw)
In-Reply-To: <c922d67c-ab20-4e46-9359-01fb32223d17@nvidia.com>
On Sun, Apr 27, 2025 at 03:12:18PM -0700, John Hubbard wrote:
> On 4/26/25 2:50 PM, Remo Senekowitsch wrote:
> > On Sat Apr 26, 2025 at 5:02 PM CEST, Danilo Krummrich wrote:
> > > On Sat, Apr 26, 2025 at 04:35:07PM +0200, Dirk Behme wrote:
> > > > On 26.04.25 16:19, Danilo Krummrich wrote:
> > > > > On Sat, Apr 26, 2025 at 01:08:39PM +0200, Remo Senekowitsch wrote:
> > > > > > On Sat Apr 26, 2025 at 12:15 PM CEST, Danilo Krummrich wrote:
> ...
> > > > > Why do you think it is important to force this error print by having it in
> > > > > PropertyGuard::required() and even take an additional device reference for this
> > > > > purpose, rather than leaving it to the driver when to print a message for an
> > > > > error condition that makes it fail to probe()?
> > > >
> > > > To my understanding doing the error print in "core" was proposed by
> > > > Rob [1]:
> > >
> > > That is fine, though it doesn't answer my question above. :)
> >
> > If the question is addressed to me, I don't think it is important.
> > I don't have a particular preference either way. I'm just trying to
>
> Generally, printing in libraries an lower level routines (in this case,
> "core") is undesirable. We'll do it anyway, sometimes:
>
> a) Behind a *_DEBUG configuration, to debug the core itself, or
>
> b) Desperation: hard to recover from errors, that the upper layers
> for some reason lack context to provide an adequate error
> message for.
>
> The idea is that the lower level you are in the software stack, the
> more rare printing should be.
If that's a kernel style/requirement, I've never heard that. About the
only coding style in this area I'm aware of don't print messages on
kmalloc failure because the core does. It's the same concept here.
When practically every caller is printing a message, it should go in the
called function. It's not really different than anything else we do. If
we have 2 functions commonly called in sequence, we combine them into a
single helper function.
It's a pattern we have in the C API that I'd rather not repeat with
Rust.
Rob
next prev parent reply other threads:[~2025-04-28 20:18 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-25 15:01 [PATCH v3 0/7] More Rust bindings for device property reads Remo Senekowitsch
2025-04-25 15:01 ` [PATCH v3 1/7] rust: property: Move property_present to separate file Remo Senekowitsch
2025-04-25 15:25 ` Danilo Krummrich
2025-04-30 6:14 ` Dirk Behme
2025-04-25 15:01 ` [PATCH v3 2/7] rust: property: Enable printing fwnode name and path Remo Senekowitsch
2025-04-25 15:48 ` Danilo Krummrich
2025-04-30 7:44 ` Dirk Behme
2025-04-25 15:01 ` [PATCH v3 3/7] rust: property: Introduce PropertyGuard Remo Senekowitsch
2025-04-25 15:35 ` Danilo Krummrich
2025-04-26 6:19 ` Dirk Behme
2025-04-26 10:15 ` Danilo Krummrich
2025-04-26 11:08 ` Remo Senekowitsch
2025-04-26 14:19 ` Danilo Krummrich
2025-04-26 14:35 ` Dirk Behme
2025-04-26 15:02 ` Danilo Krummrich
2025-04-26 21:50 ` Remo Senekowitsch
2025-04-27 22:12 ` John Hubbard
2025-04-28 20:18 ` Rob Herring [this message]
2025-04-28 20:25 ` John Hubbard
2025-04-28 21:10 ` Rob Herring
2025-04-27 6:11 ` Dirk Behme
2025-04-27 12:23 ` Danilo Krummrich
2025-04-28 5:03 ` Dirk Behme
2025-04-28 16:09 ` Danilo Krummrich
2025-04-28 20:48 ` Rob Herring
2025-04-28 21:21 ` Danilo Krummrich
2025-04-28 21:50 ` Remo Senekowitsch
2025-04-29 8:50 ` Danilo Krummrich
2025-04-25 15:01 ` [PATCH v3 4/7] rust: property: Add bindings for reading device properties Remo Senekowitsch
2025-04-25 15:01 ` [PATCH v3 5/7] rust: property: Add child accessor and iterator Remo Senekowitsch
2025-04-30 6:26 ` Dirk Behme
2025-04-25 15:01 ` [PATCH v3 6/7] rust: property: Add property_get_reference_args Remo Senekowitsch
2025-04-25 15:01 ` [PATCH v3 7/7] samples: rust: platform: Add property read examples Remo Senekowitsch
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=20250428201821.GA1572343-robh@kernel.org \
--to=robh@kernel.org \
--cc=a.hindborg@kernel.org \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=benno.lossin@proton.me \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=dakr@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dirk.behme@de.bosch.com \
--cc=dirk.behme@gmail.com \
--cc=gary@garyguo.net \
--cc=gregkh@linuxfoundation.org \
--cc=jhubbard@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ojeda@kernel.org \
--cc=rafael@kernel.org \
--cc=remo@buenzli.dev \
--cc=rust-for-linux@vger.kernel.org \
--cc=saravanak@google.com \
--cc=tmgross@umich.edu \
/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;
as well as URLs for NNTP newsgroup(s).