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>
/**
* 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.
*/
const char *property;
const char *value;
bool used;
- bool optional;
} GlobalProperty;
static inline void
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) {