aboutsummaryrefslogtreecommitdiff
path: root/hw/core/qdev-properties.c
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2014-03-19 21:45:41 +0000
committerPeter Maydell <peter.maydell@linaro.org>2014-03-19 21:45:42 +0000
commit037b7addb7f9ad5dc52c3d05da8b2f60386252ff (patch)
tree2eccb0dca91eb017d45abdf184a562b09f980940 /hw/core/qdev-properties.c
parentf71e769d0754dc9a593a9e17ec6693a261b29f82 (diff)
parentabdffd1fb78c1b98bda925d3d59123beca6761a3 (diff)
Merge remote-tracking branch 'remotes/afaerber/tags/qom-devices-for-2.0' into staging
QOM/QTest infrastructure fixes * QOM machine memory and build fixes * QOM link<> and child<> property reference counting fixes # gpg: Signature made Wed 19 Mar 2014 21:44:04 GMT using RSA key ID 3E7E013F # gpg: Good signature from "Andreas Färber <afaerber@suse.de>" # gpg: aka "Andreas Färber <afaerber@suse.com>" * remotes/afaerber/tags/qom-devices-for-2.0: virtio-rng: Avoid default_backend refcount leak qom: Add check() argument to object_property_add_link() qom: Make QOM link property unref optional qom: Don't make link NULL on object_property_set_link() failure qom: Split object_property_set_link() vl.c: Fix OpenBSD compilation issue due to namespace collisions vl.c: Fix memory leak in qemu_register_machine() Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/core/qdev-properties.c')
-rw-r--r--hw/core/qdev-properties.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c
index 77d0c66635..c67acf58b5 100644
--- a/hw/core/qdev-properties.c
+++ b/hw/core/qdev-properties.c
@@ -21,6 +21,18 @@ void qdev_prop_set_after_realize(DeviceState *dev, const char *name,
}
}
+void qdev_prop_allow_set_link_before_realize(Object *obj, const char *name,
+ Object *val, Error **errp)
+{
+ DeviceState *dev = DEVICE(obj);
+
+ if (dev->realized) {
+ error_setg(errp, "Attempt to set link property '%s' on device '%s' "
+ "(type '%s') after it was realized",
+ name, dev->id, object_get_typename(obj));
+ }
+}
+
void *qdev_get_prop_ptr(DeviceState *dev, Property *prop)
{
void *ptr = dev;