From: Pedro Yudi Honda <[email protected]> This series follows the introduction of `zerocopy` to rust-next and replaces `transmute` traits with `zerocopy` traits. These changes are mechanical and don't alter functionality.
Specifically, the trait `transmute::FromBytes` is replaced by `zerocopy::FromBytes` and the trait `transmute::AsBytes` is replaced by `zerocopy::IntoBytes`. Additional traits such as `zerocopy::Immutable` and `zerocopy::KnownLayout` are implemented as necessary. This does not replace the trait implemented in newtypes over bindings. Currently, the only solution I can think of is mirroring the bindings into another type and transmuting when necessary, but that does not seem practical. Another issue is a type like `gsp::cmdq::GspMem` that explicitly does not meet the requirements for `FromBytes`, but unsafely implements the trait anyway because it knows all of its uses. Unsafely implementing `zerocopy::FromBytes` is not allowed, and implementing `zerocopy::TryFromBytes` would add unnecessary overhead. Feedback from the maintainers on the direction in these cases would be appreciated. Pedro Yudi Honda (7): drm/nova: use `zerocopy` in firmware.rs drm/nova: use `zerocopy` in vbios.rs drm/nova: use `zerocopy` in booter.rs drm/nova: use `zerocopy` in fwsec.rs drm/nova: use `zerocopy` in bootloader.rs drm/nova: use `zerocopy` in riscv.rs drm/nova: remove unused trait in commands.rs drivers/gpu/nova-core/firmware.rs | 16 ++--- drivers/gpu/nova-core/firmware/booter.rs | 26 +++----- drivers/gpu/nova-core/firmware/fwsec.rs | 47 ++++----------- .../nova-core/firmware/fwsec/bootloader.rs | 16 ++--- drivers/gpu/nova-core/firmware/riscv.rs | 10 +--- drivers/gpu/nova-core/gsp/commands.rs | 9 +-- drivers/gpu/nova-core/vbios.rs | 60 ++++++------------- 7 files changed, 49 insertions(+), 135 deletions(-) -- 2.34.1
