mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-17 21:26:13 -07:00
qdev: Move dev->realized check to qdev_property_set()
Every single qdev property setter function manually checks dev->realized. We can just check dev->realized inside qdev_property_set() instead. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Reviewed-by: Stefan Berger <stefanb@linux.ibm.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Acked-by: Paul Durrant <paul@xen.org> Message-Id: <20201211220529.2290218-24-ehabkost@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
parent
7ed854af14
commit
ea7c1e5c3e
8 changed files with 18 additions and 188 deletions
|
|
@ -94,11 +94,6 @@ static void set_drive_helper(Object *obj, Visitor *v, const char *name,
|
|||
bool blk_created = false;
|
||||
int ret;
|
||||
|
||||
if (dev->realized) {
|
||||
qdev_prop_set_after_realize(dev, name, errp);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!visit_type_str(v, name, &str, errp)) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -230,17 +225,11 @@ static void get_chr(Object *obj, Visitor *v, const char *name, void *opaque,
|
|||
static void set_chr(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
CharBackend *be = qdev_get_prop_ptr(obj, prop);
|
||||
Chardev *s;
|
||||
char *str;
|
||||
|
||||
if (dev->realized) {
|
||||
qdev_prop_set_after_realize(dev, name, errp);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!visit_type_str(v, name, &str, errp)) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -311,18 +300,12 @@ static void get_mac(Object *obj, Visitor *v, const char *name, void *opaque,
|
|||
static void set_mac(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
MACAddr *mac = qdev_get_prop_ptr(obj, prop);
|
||||
int i, pos;
|
||||
char *str;
|
||||
const char *p;
|
||||
|
||||
if (dev->realized) {
|
||||
qdev_prop_set_after_realize(dev, name, errp);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!visit_type_str(v, name, &str, errp)) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -390,7 +373,6 @@ static void get_netdev(Object *obj, Visitor *v, const char *name,
|
|||
static void set_netdev(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
NICPeers *peers_ptr = qdev_get_prop_ptr(obj, prop);
|
||||
NetClientState **ncs = peers_ptr->ncs;
|
||||
|
|
@ -398,11 +380,6 @@ static void set_netdev(Object *obj, Visitor *v, const char *name,
|
|||
int queues, err = 0, i = 0;
|
||||
char *str;
|
||||
|
||||
if (dev->realized) {
|
||||
qdev_prop_set_after_realize(dev, name, errp);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!visit_type_str(v, name, &str, errp)) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -469,18 +446,12 @@ static void get_audiodev(Object *obj, Visitor *v, const char* name,
|
|||
static void set_audiodev(Object *obj, Visitor *v, const char* name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
QEMUSoundCard *card = qdev_get_prop_ptr(obj, prop);
|
||||
AudioState *state;
|
||||
int err = 0;
|
||||
char *str;
|
||||
|
||||
if (dev->realized) {
|
||||
qdev_prop_set_after_realize(dev, name, errp);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!visit_type_str(v, name, &str, errp)) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -582,11 +553,6 @@ static void set_blocksize(Object *obj, Visitor *v, const char *name,
|
|||
uint64_t value;
|
||||
Error *local_err = NULL;
|
||||
|
||||
if (dev->realized) {
|
||||
qdev_prop_set_after_realize(dev, name, errp);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!visit_type_size(v, name, &value, errp)) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -686,7 +652,6 @@ static void get_reserved_region(Object *obj, Visitor *v, const char *name,
|
|||
static void set_reserved_region(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
ReservedRegion *rr = qdev_get_prop_ptr(obj, prop);
|
||||
Error *local_err = NULL;
|
||||
|
|
@ -694,11 +659,6 @@ static void set_reserved_region(Object *obj, Visitor *v, const char *name,
|
|||
char *str;
|
||||
int ret;
|
||||
|
||||
if (dev->realized) {
|
||||
qdev_prop_set_after_realize(dev, name, errp);
|
||||
return;
|
||||
}
|
||||
|
||||
visit_type_str(v, name, &str, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
|
|
@ -754,17 +714,11 @@ const PropertyInfo qdev_prop_reserved_region = {
|
|||
static void set_pci_devfn(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
int32_t value, *ptr = qdev_get_prop_ptr(obj, prop);
|
||||
unsigned int slot, fn, n;
|
||||
char *str;
|
||||
|
||||
if (dev->realized) {
|
||||
qdev_prop_set_after_realize(dev, name, errp);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!visit_type_str(v, name, &str, NULL)) {
|
||||
if (!visit_type_int32(v, name, &value, errp)) {
|
||||
return;
|
||||
|
|
@ -848,7 +802,6 @@ static void get_pci_host_devaddr(Object *obj, Visitor *v, const char *name,
|
|||
static void set_pci_host_devaddr(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
PCIHostDeviceAddress *addr = qdev_get_prop_ptr(obj, prop);
|
||||
char *str, *p;
|
||||
|
|
@ -857,11 +810,6 @@ static void set_pci_host_devaddr(Object *obj, Visitor *v, const char *name,
|
|||
unsigned long dom = 0, bus = 0;
|
||||
unsigned int slot = 0, func = 0;
|
||||
|
||||
if (dev->realized) {
|
||||
qdev_prop_set_after_realize(dev, name, errp);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!visit_type_str(v, name, &str, errp)) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -972,16 +920,10 @@ static void get_prop_pcielinkspeed(Object *obj, Visitor *v, const char *name,
|
|||
static void set_prop_pcielinkspeed(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
PCIExpLinkSpeed *p = qdev_get_prop_ptr(obj, prop);
|
||||
int speed;
|
||||
|
||||
if (dev->realized) {
|
||||
qdev_prop_set_after_realize(dev, name, errp);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!visit_type_enum(v, name, &speed, prop->info->enum_table,
|
||||
errp)) {
|
||||
return;
|
||||
|
|
@ -1057,16 +999,10 @@ static void get_prop_pcielinkwidth(Object *obj, Visitor *v, const char *name,
|
|||
static void set_prop_pcielinkwidth(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
PCIExpLinkWidth *p = qdev_get_prop_ptr(obj, prop);
|
||||
int width;
|
||||
|
||||
if (dev->realized) {
|
||||
qdev_prop_set_after_realize(dev, name, errp);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!visit_type_enum(v, name, &width, prop->info->enum_table,
|
||||
errp)) {
|
||||
return;
|
||||
|
|
@ -1129,16 +1065,10 @@ static void get_uuid(Object *obj, Visitor *v, const char *name, void *opaque,
|
|||
static void set_uuid(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
QemuUUID *uuid = qdev_get_prop_ptr(obj, prop);
|
||||
char *str;
|
||||
|
||||
if (dev->realized) {
|
||||
qdev_prop_set_after_realize(dev, name, errp);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!visit_type_str(v, name, &str, errp)) {
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue