rust/kernel/acpi.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
Use `pin_init::zeroed()` instead of `core::mem::zeroed()` for initializing
`acpi_device_id`. This removes an explicit unsafe block and aligns ACPI
initialization with the pin-init conversion used across the Rust tree.
Link: https://github.com/Rust-for-Linux/linux/issues/1189
Signed-off-by: Atharv Dubey <atharvd440@gmail.com>
---
rust/kernel/acpi.rs | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/rust/kernel/acpi.rs b/rust/kernel/acpi.rs
index 37e1161c1298..9b8efa623130 100644
--- a/rust/kernel/acpi.rs
+++ b/rust/kernel/acpi.rs
@@ -39,9 +39,7 @@ impl DeviceId {
pub const fn new(id: &'static CStr) -> Self {
let src = id.to_bytes_with_nul();
build_assert!(src.len() <= Self::ACPI_ID_LEN, "ID exceeds 16 bytes");
- // Replace with `bindings::acpi_device_id::default()` once stabilized for `const`.
- // SAFETY: FFI type is valid to be zero-initialized.
- let mut acpi: bindings::acpi_device_id = unsafe { core::mem::zeroed() };
+ let mut acpi: bindings::acpi_device_id = pin_init::zeroed();
let mut i = 0;
while i < src.len() {
acpi.id[i] = src[i];
--
2.43.0
On Sat Nov 29, 2025 at 9:27 PM JST, Atharv Dubey wrote:
> Use `pin_init::zeroed()` instead of `core::mem::zeroed()` for initializing
> `acpi_device_id`. This removes an explicit unsafe block and aligns ACPI
> initialization with the pin-init conversion used across the Rust tree.
>
> Link: https://github.com/Rust-for-Linux/linux/issues/1189
> Signed-off-by: Atharv Dubey <atharvd440@gmail.com>
> ---
> rust/kernel/acpi.rs | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/rust/kernel/acpi.rs b/rust/kernel/acpi.rs
> index 37e1161c1298..9b8efa623130 100644
> --- a/rust/kernel/acpi.rs
> +++ b/rust/kernel/acpi.rs
> @@ -39,9 +39,7 @@ impl DeviceId {
> pub const fn new(id: &'static CStr) -> Self {
> let src = id.to_bytes_with_nul();
> build_assert!(src.len() <= Self::ACPI_ID_LEN, "ID exceeds 16 bytes");
> - // Replace with `bindings::acpi_device_id::default()` once stabilized for `const`.
Let's keep this comment as well.
On Mon, Dec 01, 2025 at 12:36:22PM +0900, Alexandre Courbot wrote:
> On Sat Nov 29, 2025 at 9:27 PM JST, Atharv Dubey wrote:
> > Use `pin_init::zeroed()` instead of `core::mem::zeroed()` for initializing
> > `acpi_device_id`. This removes an explicit unsafe block and aligns ACPI
> > initialization with the pin-init conversion used across the Rust tree.
> >
> > Link: https://github.com/Rust-for-Linux/linux/issues/1189
> > Signed-off-by: Atharv Dubey <atharvd440@gmail.com>
> > ---
> > rust/kernel/acpi.rs | 4 +---
> > 1 file changed, 1 insertion(+), 3 deletions(-)
> >
> > diff --git a/rust/kernel/acpi.rs b/rust/kernel/acpi.rs
> > index 37e1161c1298..9b8efa623130 100644
> > --- a/rust/kernel/acpi.rs
> > +++ b/rust/kernel/acpi.rs
> > @@ -39,9 +39,7 @@ impl DeviceId {
> > pub const fn new(id: &'static CStr) -> Self {
> > let src = id.to_bytes_with_nul();
> > build_assert!(src.len() <= Self::ACPI_ID_LEN, "ID exceeds 16 bytes");
> > - // Replace with `bindings::acpi_device_id::default()` once stabilized for `const`.
>
> Let's keep this comment as well.
> > Sure, will add the comment in V2 of the patch
> > -Atharv
© 2016 - 2025 Red Hat, Inc.