On Tue Dec 16, 2025 at 4:27 AM GMT, Alexandre Courbot wrote: > 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.
With latest pin-init changes you should be able to derive `Zeroable` on tuple structs now, no need to convert. Best, Gary > > Reviewed-by: Lyude Paul <[email protected]> > 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 {}
