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. Resent due to incorrect maintainer email address in previous submission. 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
