rust/qdev: add the macro to define bit property
HPET device (Rust device) needs to define the bit type property. Add a variant of define_property macro to define bit type property. Signed-off-by: Zhao Liu <zhao1.liu@intel.com> Link: https://lore.kernel.org/r/20250210030051.2562726-3-zhao1.liu@intel.com Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
f32352ff9e
commit
7f2d4181a3
@ -168,6 +168,18 @@ where
|
|||||||
|
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! define_property {
|
macro_rules! define_property {
|
||||||
|
($name:expr, $state:ty, $field:ident, $prop:expr, $type:ty, bit = $bitnr:expr, default = $defval:expr$(,)*) => {
|
||||||
|
$crate::bindings::Property {
|
||||||
|
// use associated function syntax for type checking
|
||||||
|
name: ::std::ffi::CStr::as_ptr($name),
|
||||||
|
info: $prop,
|
||||||
|
offset: $crate::offset_of!($state, $field) as isize,
|
||||||
|
bitnr: $bitnr,
|
||||||
|
set_default: true,
|
||||||
|
defval: $crate::bindings::Property__bindgen_ty_1 { u: $defval as u64 },
|
||||||
|
..$crate::zeroable::Zeroable::ZERO
|
||||||
|
}
|
||||||
|
};
|
||||||
($name:expr, $state:ty, $field:ident, $prop:expr, $type:ty, default = $defval:expr$(,)*) => {
|
($name:expr, $state:ty, $field:ident, $prop:expr, $type:ty, default = $defval:expr$(,)*) => {
|
||||||
$crate::bindings::Property {
|
$crate::bindings::Property {
|
||||||
// use associated function syntax for type checking
|
// use associated function syntax for type checking
|
||||||
|
Loading…
x
Reference in New Issue
Block a user