On Mon, Dec 09, 2024 at 01:37:02PM +0100, Paolo Bonzini wrote: > Date: Mon, 9 Dec 2024 13:37:02 +0100 > From: Paolo Bonzini <pbonz...@redhat.com> > Subject: [PATCH 11/26] rust: qdev: move device_class_init! body to generic > function, ClassInitImpl implementation to macro > X-Mailer: git-send-email 2.47.1 > > Use a trait to access the former parameters to device_class_init!. > This allows hiding the details of the class_init implementation behind > a generic function and makes higher-level functionality available from > qemu_api. > > The implementation of ClassInitImpl is then the same for all devices and > is easily macroized. Later on, we can remove the need to implement > ClassInitImpl by hand for all device types, and stop making > rust_device_class_init<>() public. > > While at it, document the members of DeviceImpl. > > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > --- > rust/hw/char/pl011/src/device.rs | 34 +++++----- > rust/hw/char/pl011/src/device_class.rs | 8 --- > rust/qemu-api/src/device_class.rs | 87 +++++++++++++++++++++----- > rust/qemu-api/tests/tests.rs | 30 ++++----- > 4 files changed, 103 insertions(+), 56 deletions(-)
Rviewed-by: Zhao Liu <zhao1....@intel.com>