Skip to content

Commit

Permalink
Revert "Revert "globals: Allow global properties to be optional""
Browse files Browse the repository at this point in the history
This reverts commit 8fa70db.

Because we're about to revert it's neighbour and thus uses an optional
again.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20190729162903.4489-2-dgilbert@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
  • Loading branch information
dagrh authored and mstsirkin committed Jul 29, 2019
1 parent fff3159 commit 92fd453
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 0 deletions.
3 changes: 3 additions & 0 deletions include/hw/qdev-core.h
Expand Up @@ -252,6 +252,8 @@ 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.
*/
Expand All @@ -260,6 +262,7 @@ typedef struct GlobalProperty {
const char *property;
const char *value;
bool used;
bool optional;
} GlobalProperty;

static inline void
Expand Down
3 changes: 3 additions & 0 deletions qom/object.c
Expand Up @@ -386,6 +386,9 @@ 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) {
Expand Down

0 comments on commit 92fd453

Please sign in to comment.