Re: [PATCH 14/36] qdev: Move dev->realized check to qdev_property_set()

2020-10-30 Thread Marc-André Lureau
On Fri, Oct 30, 2020 at 2:10 AM Eduardo Habkost  wrote:

> Every single qdev property setter function manually checks
> dev->realized.  We can just check dev->realized inside
> qdev_property_set() instead.
>
> The check is being added as a separate function
> (qdev_prop_allow_set()) because it will become a callback later.
>
> Signed-off-by: Eduardo Habkost 
>

nice
Reviewed-by: Marc-André Lureau 

-- 
Marc-André Lureau


Re: [PATCH 14/36] qdev: Move dev->realized check to qdev_property_set()

2020-10-29 Thread Stefan Berger

On 10/29/20 6:02 PM, Eduardo Habkost wrote:

Every single qdev property setter function manually checks
dev->realized.  We can just check dev->realized inside
qdev_property_set() instead.

The check is being added as a separate function
(qdev_prop_allow_set()) because it will become a callback later.

Signed-off-by: Eduardo Habkost 


Reviewed-by:  Stefan Berger 



---
Cc: Stefan Berger 
Cc: Stefano Stabellini 
Cc: Anthony Perard 
Cc: Paul Durrant 
Cc: Kevin Wolf 
Cc: Max Reitz 
Cc: Paolo Bonzini 
Cc: "Daniel P. Berrangé" 
Cc: Eduardo Habkost 
Cc: Cornelia Huck 
Cc: Halil Pasic 
Cc: Christian Borntraeger 
Cc: Thomas Huth 
Cc: Richard Henderson 
Cc: David Hildenbrand 
Cc: Matthew Rosato 
Cc: Alex Williamson 
Cc: Mark Cave-Ayland 
Cc: Artyom Tarasenko 
Cc: qemu-de...@nongnu.org
Cc: xen-de...@lists.xenproject.org
Cc: qemu-block@nongnu.org
Cc: qemu-s3...@nongnu.org
---
  backends/tpm/tpm_util.c  |   6 --
  hw/block/xen-block.c |   5 --
  hw/core/qdev-properties-system.c |  64 ---
  hw/core/qdev-properties.c| 106 ++-
  hw/s390x/css.c   |   6 --
  hw/s390x/s390-pci-bus.c  |   6 --
  hw/vfio/pci-quirks.c |   6 --
  target/sparc/cpu.c   |   6 --
  8 files changed, 18 insertions(+), 187 deletions(-)

diff --git a/backends/tpm/tpm_util.c b/backends/tpm/tpm_util.c
index e91c21dd4a..042cacfcca 100644
--- a/backends/tpm/tpm_util.c
+++ b/backends/tpm/tpm_util.c
@@ -46,16 +46,10 @@ static void get_tpm(Object *obj, Visitor *v, const char 
*name, void *opaque,
  static void set_tpm(Object *obj, Visitor *v, const char *name, void *opaque,
  Error **errp)
  {
-DeviceState *dev = DEVICE(obj);
  Property *prop = opaque;
  TPMBackend *s, **be = 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, , errp)) {
  return;
  }
diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index 1ba9981c08..bd1aef63a7 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -400,11 +400,6 @@ static void xen_block_set_vdev(Object *obj, Visitor *v, 
const char *name,
  char *str, *p;
  const char *end;

-if (dev->realized) {
-qdev_prop_set_after_realize(dev, name, errp);
-return;
-}
-
  if (!visit_type_str(v, name, , errp)) {
  return;
  }
diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-system.c
index fca1b694ca..60a45f5620 100644
--- a/hw/core/qdev-properties-system.c
+++ b/hw/core/qdev-properties-system.c
@@ -92,11 +92,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, , errp)) {
  return;
  }
@@ -228,17 +223,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, , errp)) {
  return;
  }
@@ -309,18 +298,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, , errp)) {
  return;
  }
@@ -388,7 +371,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;
@@ -396,11 +378,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, , errp)) {
  return;
  }
@@ -467,18 +444,12 @@ static void get_audiodev(Object *obj, Visitor *v, const 
char* name,
  static void set_audiodev(Object *obj, Visitor *v, const 

[PATCH 14/36] qdev: Move dev->realized check to qdev_property_set()

2020-10-29 Thread Eduardo Habkost
Every single qdev property setter function manually checks
dev->realized.  We can just check dev->realized inside
qdev_property_set() instead.

The check is being added as a separate function
(qdev_prop_allow_set()) because it will become a callback later.

Signed-off-by: Eduardo Habkost 
---
Cc: Stefan Berger 
Cc: Stefano Stabellini 
Cc: Anthony Perard 
Cc: Paul Durrant 
Cc: Kevin Wolf 
Cc: Max Reitz 
Cc: Paolo Bonzini 
Cc: "Daniel P. Berrangé" 
Cc: Eduardo Habkost 
Cc: Cornelia Huck 
Cc: Halil Pasic 
Cc: Christian Borntraeger 
Cc: Thomas Huth 
Cc: Richard Henderson 
Cc: David Hildenbrand 
Cc: Matthew Rosato 
Cc: Alex Williamson 
Cc: Mark Cave-Ayland 
Cc: Artyom Tarasenko 
Cc: qemu-de...@nongnu.org
Cc: xen-de...@lists.xenproject.org
Cc: qemu-block@nongnu.org
Cc: qemu-s3...@nongnu.org
---
 backends/tpm/tpm_util.c  |   6 --
 hw/block/xen-block.c |   5 --
 hw/core/qdev-properties-system.c |  64 ---
 hw/core/qdev-properties.c| 106 ++-
 hw/s390x/css.c   |   6 --
 hw/s390x/s390-pci-bus.c  |   6 --
 hw/vfio/pci-quirks.c |   6 --
 target/sparc/cpu.c   |   6 --
 8 files changed, 18 insertions(+), 187 deletions(-)

diff --git a/backends/tpm/tpm_util.c b/backends/tpm/tpm_util.c
index e91c21dd4a..042cacfcca 100644
--- a/backends/tpm/tpm_util.c
+++ b/backends/tpm/tpm_util.c
@@ -46,16 +46,10 @@ static void get_tpm(Object *obj, Visitor *v, const char 
*name, void *opaque,
 static void set_tpm(Object *obj, Visitor *v, const char *name, void *opaque,
 Error **errp)
 {
-DeviceState *dev = DEVICE(obj);
 Property *prop = opaque;
 TPMBackend *s, **be = 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, , errp)) {
 return;
 }
diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index 1ba9981c08..bd1aef63a7 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -400,11 +400,6 @@ static void xen_block_set_vdev(Object *obj, Visitor *v, 
const char *name,
 char *str, *p;
 const char *end;
 
-if (dev->realized) {
-qdev_prop_set_after_realize(dev, name, errp);
-return;
-}
-
 if (!visit_type_str(v, name, , errp)) {
 return;
 }
diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-system.c
index fca1b694ca..60a45f5620 100644
--- a/hw/core/qdev-properties-system.c
+++ b/hw/core/qdev-properties-system.c
@@ -92,11 +92,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, , errp)) {
 return;
 }
@@ -228,17 +223,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, , errp)) {
 return;
 }
@@ -309,18 +298,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, , errp)) {
 return;
 }
@@ -388,7 +371,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;
@@ -396,11 +378,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, , errp)) {
 return;
 }
@@ -467,18 +444,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;