mirror of https://github.com/xemu-project/xemu.git
qdev: Make bit_prop_set() get Object* argument
Make the code more generic and not specific to TYPE_DEVICE. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20201211220529.2290218-9-ehabkost@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
parent
40ea00b066
commit
605d9fc0e3
|
@ -92,8 +92,9 @@ static uint32_t qdev_get_prop_mask(Property *prop)
|
|||
return 0x1 << prop->bitnr;
|
||||
}
|
||||
|
||||
static void bit_prop_set(DeviceState *dev, Property *props, bool val)
|
||||
static void bit_prop_set(Object *obj, Property *props, bool val)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
uint32_t *p = qdev_get_prop_ptr(dev, props);
|
||||
uint32_t mask = qdev_get_prop_mask(props);
|
||||
if (val) {
|
||||
|
@ -129,7 +130,7 @@ static void prop_set_bit(Object *obj, Visitor *v, const char *name,
|
|||
if (!visit_type_bool(v, name, &value, errp)) {
|
||||
return;
|
||||
}
|
||||
bit_prop_set(dev, prop, value);
|
||||
bit_prop_set(obj, prop, value);
|
||||
}
|
||||
|
||||
static void set_default_value_bool(ObjectProperty *op, const Property *prop)
|
||||
|
@ -153,8 +154,9 @@ static uint64_t qdev_get_prop_mask64(Property *prop)
|
|||
return 0x1ull << prop->bitnr;
|
||||
}
|
||||
|
||||
static void bit64_prop_set(DeviceState *dev, Property *props, bool val)
|
||||
static void bit64_prop_set(Object *obj, Property *props, bool val)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
uint64_t *p = qdev_get_prop_ptr(dev, props);
|
||||
uint64_t mask = qdev_get_prop_mask64(props);
|
||||
if (val) {
|
||||
|
@ -190,7 +192,7 @@ static void prop_set_bit64(Object *obj, Visitor *v, const char *name,
|
|||
if (!visit_type_bool(v, name, &value, errp)) {
|
||||
return;
|
||||
}
|
||||
bit64_prop_set(dev, prop, value);
|
||||
bit64_prop_set(obj, prop, value);
|
||||
}
|
||||
|
||||
const PropertyInfo qdev_prop_bit64 = {
|
||||
|
|
Loading…
Reference in New Issue