Message ID | 20240731042136.201327-2-fujita.tomonori@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: phy: add Applied Micro QT2025 PHY driver | expand |
On Wed, Jul 31, 2024 at 6:22 AM FUJITA Tomonori <fujita.tomonori@gmail.com> wrote: > > Add rust equivalent to include/linux/sizes.h, makes code more > readable. This adds only SZ_*K, which mostly used. > > Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com> Reviewed-by: Alice Ryhl <aliceryhl@google.com>
On Wed, Jul 31, 2024 at 01:21:31PM +0900, FUJITA Tomonori wrote: > Add rust equivalent to include/linux/sizes.h, makes code more > readable. This adds only SZ_*K, which mostly used. > > Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com> > --- > rust/kernel/lib.rs | 1 + > rust/kernel/sizes.rs | 26 ++++++++++++++++++++++++++ > 2 files changed, 27 insertions(+) > create mode 100644 rust/kernel/sizes.rs > > diff --git a/rust/kernel/lib.rs b/rust/kernel/lib.rs > index e6b7d3a80bbc..ba2ba996678d 100644 > --- a/rust/kernel/lib.rs > +++ b/rust/kernel/lib.rs > @@ -42,6 +42,7 @@ > pub mod net; > pub mod prelude; > pub mod print; > +pub mod sizes; > mod static_assert; > #[doc(hidden)] > pub mod std_vendor; > diff --git a/rust/kernel/sizes.rs b/rust/kernel/sizes.rs > new file mode 100644 > index 000000000000..834c343e4170 > --- /dev/null > +++ b/rust/kernel/sizes.rs > @@ -0,0 +1,26 @@ > +// SPDX-License-Identifier: GPL-2.0 > + > +//! Commonly used sizes. > +//! > +//! C headers: [`include/linux/sizes.h`](srctree/include/linux/sizes.h). > + > +/// 0x00000400 > +pub const SZ_1K: usize = bindings::SZ_1K as usize; 1K is 1K, independent of it being C 1K or Rust 1K. In this case, does it makes sense to actually use the C header? I don't know? But the Rust people seems to think this is O.K. Andrew
On Wed, Jul 31, 2024 at 2:17 PM Andrew Lunn <andrew@lunn.ch> wrote: > > On Wed, Jul 31, 2024 at 01:21:31PM +0900, FUJITA Tomonori wrote: > > Add rust equivalent to include/linux/sizes.h, makes code more > > readable. This adds only SZ_*K, which mostly used. > > > > Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com> > > --- > > rust/kernel/lib.rs | 1 + > > rust/kernel/sizes.rs | 26 ++++++++++++++++++++++++++ > > 2 files changed, 27 insertions(+) > > create mode 100644 rust/kernel/sizes.rs > > > > diff --git a/rust/kernel/lib.rs b/rust/kernel/lib.rs > > index e6b7d3a80bbc..ba2ba996678d 100644 > > --- a/rust/kernel/lib.rs > > +++ b/rust/kernel/lib.rs > > @@ -42,6 +42,7 @@ > > pub mod net; > > pub mod prelude; > > pub mod print; > > +pub mod sizes; > > mod static_assert; > > #[doc(hidden)] > > pub mod std_vendor; > > diff --git a/rust/kernel/sizes.rs b/rust/kernel/sizes.rs > > new file mode 100644 > > index 000000000000..834c343e4170 > > --- /dev/null > > +++ b/rust/kernel/sizes.rs > > @@ -0,0 +1,26 @@ > > +// SPDX-License-Identifier: GPL-2.0 > > + > > +//! Commonly used sizes. > > +//! > > +//! C headers: [`include/linux/sizes.h`](srctree/include/linux/sizes.h). > > + > > +/// 0x00000400 > > +pub const SZ_1K: usize = bindings::SZ_1K as usize; > > 1K is 1K, independent of it being C 1K or Rust 1K. In this case, does > it makes sense to actually use the C header? I don't know? But the > Rust people seems to think this is O.K. Shrug. I don't think it really matters. If using the C header required adding constants in rust/bindings/bindings_helper.h to actually make the constants usable from Rust, then I would say we should just set the constants from the Rust side. But in this case using the C header just works so I don't think it's an issue. Alice
On Wed, 31 Jul 2024 14:30:23 +0200 Alice Ryhl <aliceryhl@google.com> wrote: >> > +//! Commonly used sizes. >> > +//! >> > +//! C headers: [`include/linux/sizes.h`](srctree/include/linux/sizes.h). >> > + >> > +/// 0x00000400 >> > +pub const SZ_1K: usize = bindings::SZ_1K as usize; >> >> 1K is 1K, independent of it being C 1K or Rust 1K. In this case, does >> it makes sense to actually use the C header? I don't know? But the >> Rust people seems to think this is O.K. > > Shrug. I don't think it really matters. > > If using the C header required adding constants in > rust/bindings/bindings_helper.h to actually make the constants usable > from Rust, then I would say we should just set the constants from the > Rust side. But in this case using the C header just works so I don't > think it's an issue. Either is fine by me. I'll keep the current version if nobody has strong preference. Thanks for the quick review!
diff --git a/rust/kernel/lib.rs b/rust/kernel/lib.rs index e6b7d3a80bbc..ba2ba996678d 100644 --- a/rust/kernel/lib.rs +++ b/rust/kernel/lib.rs @@ -42,6 +42,7 @@ pub mod net; pub mod prelude; pub mod print; +pub mod sizes; mod static_assert; #[doc(hidden)] pub mod std_vendor; diff --git a/rust/kernel/sizes.rs b/rust/kernel/sizes.rs new file mode 100644 index 000000000000..834c343e4170 --- /dev/null +++ b/rust/kernel/sizes.rs @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: GPL-2.0 + +//! Commonly used sizes. +//! +//! C headers: [`include/linux/sizes.h`](srctree/include/linux/sizes.h). + +/// 0x00000400 +pub const SZ_1K: usize = bindings::SZ_1K as usize; +/// 0x00000800 +pub const SZ_2K: usize = bindings::SZ_2K as usize; +/// 0x00001000 +pub const SZ_4K: usize = bindings::SZ_4K as usize; +/// 0x00002000 +pub const SZ_8K: usize = bindings::SZ_8K as usize; +/// 0x00004000 +pub const SZ_16K: usize = bindings::SZ_16K as usize; +/// 0x00008000 +pub const SZ_32K: usize = bindings::SZ_32K as usize; +/// 0x00010000 +pub const SZ_64K: usize = bindings::SZ_64K as usize; +/// 0x00020000 +pub const SZ_128K: usize = bindings::SZ_128K as usize; +/// 0x00040000 +pub const SZ_256K: usize = bindings::SZ_256K as usize; +/// 0x00080000 +pub const SZ_512K: usize = bindings::SZ_512K as usize;
Add rust equivalent to include/linux/sizes.h, makes code more readable. This adds only SZ_*K, which mostly used. Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com> --- rust/kernel/lib.rs | 1 + rust/kernel/sizes.rs | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 rust/kernel/sizes.rs