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
>

Reply via email to