From: Marc-AndrĂ© Lureau <[email protected]>

Now that all PropertyInfo for enums definitions use .qapi_type, remove
the legacy .enum_table field from PropertyInfo, along with the
qdev_propinfo_enum_lookup() helper.

Signed-off-by: Marc-AndrĂ© Lureau <[email protected]>
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
---
 hw/core/qdev-prop-internal.h      |  2 --
 include/hw/core/qdev-properties.h |  1 -
 hw/core/qdev-properties-system.c  | 12 +++++-------
 hw/core/qdev-properties.c         | 17 ++++-------------
 4 files changed, 9 insertions(+), 23 deletions(-)

diff --git a/hw/core/qdev-prop-internal.h b/hw/core/qdev-prop-internal.h
index c190b7b88c..d7b77844fe 100644
--- a/hw/core/qdev-prop-internal.h
+++ b/hw/core/qdev-prop-internal.h
@@ -8,8 +8,6 @@
 #ifndef HW_CORE_QDEV_PROP_INTERNAL_H
 #define HW_CORE_QDEV_PROP_INTERNAL_H
 
-const QEnumLookup *qdev_propinfo_enum_lookup(const PropertyInfo *info);
-
 void qdev_propinfo_get_enum(Object *obj, Visitor *v, const char *name,
                             void *opaque, Error **errp);
 void qdev_propinfo_set_enum(Object *obj, Visitor *v, const char *name,
diff --git a/include/hw/core/qdev-properties.h 
b/include/hw/core/qdev-properties.h
index 1ea2ba66bb..a57291a5a1 100644
--- a/include/hw/core/qdev-properties.h
+++ b/include/hw/core/qdev-properties.h
@@ -33,7 +33,6 @@ struct Property {
 struct PropertyInfo {
     const char *type;
     const char *description;
-    const QEnumLookup *enum_table;
     const QAPITypeInfo *qapi_type;
     bool realized_set_allowed; /* allow setting property on realized device */
     char *(*print)(Object *obj, const Property *prop);
diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-system.c
index 8924f84806..4d605c2056 100644
--- a/hw/core/qdev-properties-system.c
+++ b/hw/core/qdev-properties-system.c
@@ -592,7 +592,7 @@ static void qdev_propinfo_set_losttickpolicy(Object *obj, 
Visitor *v,
     int value;
 
     if (!visit_type_enum(v, name, &value,
-                         qdev_propinfo_enum_lookup(prop->info), errp)) {
+                         prop->info->qapi_type->lookup, errp)) {
         return;
     }
 
@@ -1081,8 +1081,7 @@ static void get_prop_pcielinkspeed(Object *obj, Visitor 
*v, const char *name,
         abort();
     }
 
-    visit_type_enum(v, name, &speed,
-                    qdev_propinfo_enum_lookup(prop->info), errp);
+    visit_type_enum(v, name, &speed, prop->info->qapi_type->lookup, errp);
 }
 
 static void set_prop_pcielinkspeed(Object *obj, Visitor *v, const char *name,
@@ -1093,7 +1092,7 @@ static void set_prop_pcielinkspeed(Object *obj, Visitor 
*v, const char *name,
     int speed;
 
     if (!visit_type_enum(v, name, &speed,
-                         qdev_propinfo_enum_lookup(prop->info), errp)) {
+                         prop->info->qapi_type->lookup, errp)) {
         return;
     }
 
@@ -1167,8 +1166,7 @@ static void get_prop_pcielinkwidth(Object *obj, Visitor 
*v, const char *name,
         abort();
     }
 
-    visit_type_enum(v, name, &width,
-                    qdev_propinfo_enum_lookup(prop->info), errp);
+    visit_type_enum(v, name, &width, prop->info->qapi_type->lookup, errp);
 }
 
 static void set_prop_pcielinkwidth(Object *obj, Visitor *v, const char *name,
@@ -1179,7 +1177,7 @@ static void set_prop_pcielinkwidth(Object *obj, Visitor 
*v, const char *name,
     int width;
 
     if (!visit_type_enum(v, name, &width,
-                         qdev_propinfo_enum_lookup(prop->info), errp)) {
+                         prop->info->qapi_type->lookup, errp)) {
         return;
     }
 
diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c
index fb11eb1f1c..e2ea894595 100644
--- a/hw/core/qdev-properties.c
+++ b/hw/core/qdev-properties.c
@@ -101,22 +101,13 @@ static ObjectPropertyAccessor *field_prop_setter(const 
PropertyInfo *info)
     return info->set ? field_prop_set : NULL;
 }
 
-const QEnumLookup *qdev_propinfo_enum_lookup(const PropertyInfo *info)
-{
-    if (info->qapi_type) {
-        assert(info->qapi_type->lookup);
-        return info->qapi_type->lookup;
-    }
-    return info->enum_table;
-}
-
 void qdev_propinfo_get_enum(Object *obj, Visitor *v, const char *name,
                             void *opaque, Error **errp)
 {
     const Property *prop = opaque;
     int *ptr = object_field_prop_ptr(obj, prop);
 
-    visit_type_enum(v, name, ptr, qdev_propinfo_enum_lookup(prop->info), errp);
+    visit_type_enum(v, name, ptr, prop->info->qapi_type->lookup, errp);
 }
 
 void qdev_propinfo_set_enum(Object *obj, Visitor *v, const char *name,
@@ -125,14 +116,14 @@ void qdev_propinfo_set_enum(Object *obj, Visitor *v, 
const char *name,
     const Property *prop = opaque;
     int *ptr = object_field_prop_ptr(obj, prop);
 
-    visit_type_enum(v, name, ptr, qdev_propinfo_enum_lookup(prop->info), errp);
+    visit_type_enum(v, name, ptr, prop->info->qapi_type->lookup, errp);
 }
 
 void qdev_propinfo_set_default_value_enum(ObjectProperty *op,
                                           const Property *prop)
 {
     object_property_set_default_str(op,
-        qapi_enum_lookup(qdev_propinfo_enum_lookup(prop->info),
+        qapi_enum_lookup(prop->info->qapi_type->lookup,
                          prop->defval.i));
 }
 
@@ -970,7 +961,7 @@ void qdev_prop_set_enum(DeviceState *dev, const char *name, 
int value)
 
     prop = qdev_prop_find(dev, name);
     object_property_set_str(OBJECT(dev), name,
-        qapi_enum_lookup(qdev_propinfo_enum_lookup(prop->info), value),
+        qapi_enum_lookup(prop->info->qapi_type->lookup, value),
         &error_abort);
 }
 
-- 
2.55.0


Reply via email to