On 2024/07/15 20:38, Daniel P. Berrangé wrote:
On Sun, Jul 14, 2024 at 02:11:01PM +0900, Akihiko Odaki wrote:
Accept bool literals for OnOffAuto properties for consistency with bool
properties.

Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com>
---
  hw/core/qdev-properties.c | 17 ++++++++++++++++-
  1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c
index 86a583574dd0..f0a270bb4f61 100644
--- a/hw/core/qdev-properties.c
+++ b/hw/core/qdev-properties.c
@@ -491,6 +491,21 @@ const PropertyInfo qdev_prop_string = {
      .set   = set_string,
  };
+static void set_on_off_auto(Object *obj, Visitor *v, const char *name,
+                            void *opaque, Error **errp)
+{
+    Property *prop = opaque;
+    int *ptr = object_field_prop_ptr(obj, prop);
+    bool value;
+
+    if (visit_type_bool(v, name, &value, NULL)) {
+        *ptr = value ? ON_OFF_AUTO_ON : ON_OFF_AUTO_OFF;
+        return;
+    }
+
+    qdev_propinfo_set_enum(obj, v, name, opaque, errp);
+}

IMHO this is highly undesirable. It is adding redundant new syntax
across countless places in QEMU that use OnOffAuto.

We already embrace the redundant syntax for bool properties and do not say it is deprecated. This is the most consistent way of handling on/off I came up with.

Regards,
Akihiko Odaki

Reply via email to