On Tue, Sep 16, 2025 at 11:34 AM Zhao Liu <[email protected]> wrote: > > Bit property info will added next. To distinguish different info fields, > rename `VALUE` to `BASE_INFO`, then it can better reflect that it > represents the basic property info. > > Signed-off-by: Zhao Liu <[email protected]> > ---
Reviewed-by: Manos Pitsidianakis <[email protected]> You can squash this patch to the bit info one > rust/hw/core/src/qdev.rs | 12 ++++++------ > rust/qemu-macros/src/lib.rs | 2 +- > 2 files changed, 7 insertions(+), 7 deletions(-) > > diff --git a/rust/hw/core/src/qdev.rs b/rust/hw/core/src/qdev.rs > index 2735e2b2c109..d887046d8de1 100644 > --- a/rust/hw/core/src/qdev.rs > +++ b/rust/hw/core/src/qdev.rs > @@ -109,13 +109,13 @@ pub trait ResettablePhasesImpl { > /// > /// # Safety > /// > -/// This trait is marked as `unsafe` because `VALUE` must be a valid raw > +/// This trait is marked as `unsafe` because `BASE_INFO` must be a valid raw > /// reference to a [`bindings::PropertyInfo`]. > /// > /// Note we could not use a regular reference: > /// > /// ```text > -/// const VALUE: &bindings::PropertyInfo = ... > +/// const BASE_INFO: &bindings::PropertyInfo = ... > /// ``` > /// > /// because this results in the following compiler error: > @@ -131,22 +131,22 @@ pub trait ResettablePhasesImpl { > /// It is the implementer's responsibility to provide a valid > /// [`bindings::PropertyInfo`] pointer for the trait implementation to be > safe. > pub unsafe trait QDevProp { > - const VALUE: *const bindings::PropertyInfo; > + const BASE_INFO: *const bindings::PropertyInfo; > } > > /// Use [`bindings::qdev_prop_bool`] for `bool`. > unsafe impl QDevProp for bool { > - const VALUE: *const bindings::PropertyInfo = > addr_of!(bindings::qdev_prop_bool); > + const BASE_INFO: *const bindings::PropertyInfo = > addr_of!(bindings::qdev_prop_bool); > } > > /// Use [`bindings::qdev_prop_uint64`] for `u64`. > unsafe impl QDevProp for u64 { > - const VALUE: *const bindings::PropertyInfo = > addr_of!(bindings::qdev_prop_uint64); > + const BASE_INFO: *const bindings::PropertyInfo = > addr_of!(bindings::qdev_prop_uint64); > } > > /// Use [`bindings::qdev_prop_chr`] for [`chardev::CharBackend`]. > unsafe impl QDevProp for chardev::CharBackend { > - const VALUE: *const bindings::PropertyInfo = > addr_of!(bindings::qdev_prop_chr); > + const BASE_INFO: *const bindings::PropertyInfo = > addr_of!(bindings::qdev_prop_chr); > } > > /// Trait to define device properties. > diff --git a/rust/qemu-macros/src/lib.rs b/rust/qemu-macros/src/lib.rs > index ed4064d6e110..b43ca31bae30 100644 > --- a/rust/qemu-macros/src/lib.rs > +++ b/rust/qemu-macros/src/lib.rs > @@ -272,7 +272,7 @@ macro_rules! str_to_c_str { > }, > )?; > let field_ty = field.ty.clone(); > - let qdev_prop = quote! { <#field_ty as ::hwcore::QDevProp>::VALUE }; > + let qdev_prop = quote! { <#field_ty as > ::hwcore::QDevProp>::BASE_INFO }; > let set_default = defval.is_some(); > let defval = defval.unwrap_or(syn::Expr::Verbatim(quote! { 0 })); > properties_expanded.push(quote! { > -- > 2.34.1 >
