We can derive `Zeroable` automatically instead of implementing it ourselves if we convert it from a tuple struct into a regular one. This removes an `unsafe` statement.
Signed-off-by: Alexandre Courbot <[email protected]> --- drivers/gpu/nova-core/gsp/fw/commands.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/nova-core/gsp/fw/commands.rs b/drivers/gpu/nova-core/gsp/fw/commands.rs index 21be44199693..85465521de32 100644 --- a/drivers/gpu/nova-core/gsp/fw/commands.rs +++ b/drivers/gpu/nova-core/gsp/fw/commands.rs @@ -107,12 +107,15 @@ unsafe impl FromBytes for PackedRegistryTable {} /// Payload of the `GetGspStaticInfo` command and message. #[repr(transparent)] -pub(crate) struct GspStaticConfigInfo(bindings::GspStaticConfigInfo_t); +#[derive(Zeroable)] +pub(crate) struct GspStaticConfigInfo { + inner: bindings::GspStaticConfigInfo_t, +} impl GspStaticConfigInfo { /// Returns a bytes array containing the (hopefully) zero-terminated name of this GPU. pub(crate) fn gpu_name_str(&self) -> [u8; 64] { - self.0.gpuNameString + self.inner.gpuNameString } } @@ -122,7 +125,3 @@ unsafe impl AsBytes for GspStaticConfigInfo {} // SAFETY: This struct only contains integer types for which all bit patterns // are valid. unsafe impl FromBytes for GspStaticConfigInfo {} - -// SAFETY: This struct only contains integer types and fixed-size arrays for which -// all bit patterns are valid. -unsafe impl Zeroable for GspStaticConfigInfo {} -- 2.52.0
