summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel P. Berrangé2019-02-15 11:32:39 +0100
committerMichael S. Tsirkin2019-05-21 00:40:02 +0200
commit8fa70dbd8bb478d9483c1da3e9976a2d86b3f9a0 (patch)
tree2d2839ee77d2eeec6ffc66310d1bf2571a0f052c
parenthw: report invalid disable-legacy|modern usage for virtio-1-only devs (diff)
downloadqemu-8fa70dbd8bb478d9483c1da3e9976a2d86b3f9a0.tar.gz
qemu-8fa70dbd8bb478d9483c1da3e9976a2d86b3f9a0.tar.xz
qemu-8fa70dbd8bb478d9483c1da3e9976a2d86b3f9a0.zip
Revert "globals: Allow global properties to be optional"
This reverts commit d7741743f4f3d2683d1bb6938f88dc0167c21afa. Relying on setting properties on parents types which may not be relevant to certain sub-classes had unexpected side-effects causing bugs in device config defaults. It is preferrable to be explicit about which devices get which properties, even if this needs repetition. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20190215103239.28640-3-berrange@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-rw-r--r--include/hw/qdev-core.h3
-rw-r--r--qom/object.c3
2 files changed, 0 insertions, 6 deletions
diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
index 33ed3b8dde..fa55dc10ae 100644
--- a/include/hw/qdev-core.h
+++ b/include/hw/qdev-core.h
@@ -251,8 +251,6 @@ struct PropertyInfo {
/**
* GlobalProperty:
* @used: Set to true if property was used when initializing a device.
- * @optional: If set to true, GlobalProperty will be skipped without errors
- * if the property doesn't exist.
*
* An error is fatal for non-hotplugged devices, when the global is applied.
*/
@@ -261,7 +259,6 @@ typedef struct GlobalProperty {
const char *property;
const char *value;
bool used;
- bool optional;
} GlobalProperty;
static inline void
diff --git a/qom/object.c b/qom/object.c
index d3412e7fdc..99c4fa707e 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -385,9 +385,6 @@ void object_apply_global_props(Object *obj, const GPtrArray *props, Error **errp
if (object_dynamic_cast(obj, p->driver) == NULL) {
continue;
}
- if (p->optional && !object_property_find(obj, p->property, NULL)) {
- continue;
- }
p->used = true;
object_property_parse(obj, p->value, p->property, &err);
if (err != NULL) {