[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAH5fLgg=owO8EwdC_tHCdOE1aOghcfcAzrqb5VNExCJTxcmBkw@mail.gmail.com>
Date: Wed, 18 Jun 2025 17:56:50 +0200
From: Alice Ryhl <aliceryhl@...gle.com>
To: Danilo Krummrich <dakr@...nel.org>
Cc: Matthew Maurer <mmaurer@...gle.com>, Miguel Ojeda <ojeda@...nel.org>,
Alex Gaynor <alex.gaynor@...il.com>, Boqun Feng <boqun.feng@...il.com>,
Gary Guo <gary@...yguo.net>, Björn Roy Baron <bjorn3_gh@...tonmail.com>,
Andreas Hindborg <a.hindborg@...nel.org>, Trevor Gross <tmgross@...ch.edu>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>, "Rafael J. Wysocki" <rafael@...nel.org>,
Sami Tolvanen <samitolvanen@...gle.com>, Timur Tabi <ttabi@...dia.com>,
Benno Lossin <lossin@...nel.org>, linux-kernel@...r.kernel.org,
rust-for-linux@...r.kernel.org
Subject: Re: [PATCH v6 2/5] rust: debugfs: Bind file creation for long-lived Display
On Wed, Jun 18, 2025 at 5:39 PM Danilo Krummrich <dakr@...nel.org> wrote:
>
> On Wed, Jun 18, 2025 at 02:28:14AM +0000, Matthew Maurer wrote:
> > diff --git a/rust/kernel/debugfs/display_file.rs b/rust/kernel/debugfs/display_file.rs
> > new file mode 100644
> > index 0000000000000000000000000000000000000000..65e37e34d7b587482492dc296637a3bc517b9fe3
> > --- /dev/null
> > +++ b/rust/kernel/debugfs/display_file.rs
> > @@ -0,0 +1,60 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +// Copyright (C) 2025 Google LLC.
> > +
> > +use crate::seq_file::SeqFile;
> > +use crate::seq_print;
> > +use core::fmt::Display;
> > +
> > +/// Implements `open` for `file_operations` via `single_open` to fill out a `seq_file`.
> > +///
> > +/// # Safety
> > +///
> > +/// * `inode`'s private pointer must point to a value of type `T` which will outlive the `inode`
> > +/// and will not be mutated during this call.
> > +/// * `file` must point to a live, not-yet-initialized file object.
> > +pub(crate) unsafe extern "C" fn display_open<T: Display>(
> > + inode: *mut bindings::inode,
> > + file: *mut bindings::file,
> > +) -> i32 {
>
> Please use kernel::ffi::c_int instead.
And please use it without the fully qualified path. The c_int typedef
is available in the prelude, so if you import kernel::prelude::* it
should be available.
Alice
Powered by blists - more mailing lists