qdev-properties: Add DEFINE_PROP_ON_OFF_AUTO_BIT64()
DEFINE_PROP_ON_OFF_AUTO_BIT64() corresponds to DEFINE_PROP_ON_OFF_AUTO() as DEFINE_PROP_BIT64() corresponds to DEFINE_PROP_BOOL(). The difference is that DEFINE_PROP_ON_OFF_AUTO_BIT64() exposes OnOffAuto instead of bool. Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Message-Id: <20250530-vdpa-v1-1-5af4109b1c19@daynix.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
9a4e273dde
commit
52f45faa4f
2 changed files with 84 additions and 1 deletions
|
|
@ -43,11 +43,22 @@ struct PropertyInfo {
|
|||
ObjectPropertyRelease *release;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct OnOffAutoBit64 - OnOffAuto storage with 64 elements.
|
||||
* @on_bits: Bitmap of elements with "on".
|
||||
* @auto_bits: Bitmap of elements with "auto".
|
||||
*/
|
||||
typedef struct OnOffAutoBit64 {
|
||||
uint64_t on_bits;
|
||||
uint64_t auto_bits;
|
||||
} OnOffAutoBit64;
|
||||
|
||||
|
||||
/*** qdev-properties.c ***/
|
||||
|
||||
extern const PropertyInfo qdev_prop_bit;
|
||||
extern const PropertyInfo qdev_prop_bit64;
|
||||
extern const PropertyInfo qdev_prop_on_off_auto_bit64;
|
||||
extern const PropertyInfo qdev_prop_bool;
|
||||
extern const PropertyInfo qdev_prop_uint8;
|
||||
extern const PropertyInfo qdev_prop_uint16;
|
||||
|
|
@ -100,6 +111,13 @@ extern const PropertyInfo qdev_prop_link;
|
|||
.set_default = true, \
|
||||
.defval.u = (bool)_defval)
|
||||
|
||||
#define DEFINE_PROP_ON_OFF_AUTO_BIT64(_name, _state, _field, _bit, _defval) \
|
||||
DEFINE_PROP(_name, _state, _field, qdev_prop_on_off_auto_bit64, \
|
||||
OnOffAutoBit64, \
|
||||
.bitnr = (_bit), \
|
||||
.set_default = true, \
|
||||
.defval.i = (OnOffAuto)_defval)
|
||||
|
||||
#define DEFINE_PROP_BOOL(_name, _state, _field, _defval) \
|
||||
DEFINE_PROP(_name, _state, _field, qdev_prop_bool, bool, \
|
||||
.set_default = true, \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue