mirror of https://github.com/xemu-project/xemu.git
qdev: Make check_prop_still_unset() get Object* argument
Make the code more generic and not specific to TYPE_DEVICE. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20201211220529.2290218-12-ehabkost@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
parent
395012756c
commit
381481597c
|
@ -32,11 +32,11 @@
|
||||||
#include "hw/pci/pci.h"
|
#include "hw/pci/pci.h"
|
||||||
#include "util/block-helpers.h"
|
#include "util/block-helpers.h"
|
||||||
|
|
||||||
static bool check_prop_still_unset(DeviceState *dev, const char *name,
|
static bool check_prop_still_unset(Object *obj, const char *name,
|
||||||
const void *old_val, const char *new_val,
|
const void *old_val, const char *new_val,
|
||||||
Error **errp)
|
Error **errp)
|
||||||
{
|
{
|
||||||
const GlobalProperty *prop = qdev_find_global_prop(OBJECT(dev), name);
|
const GlobalProperty *prop = qdev_find_global_prop(obj, name);
|
||||||
|
|
||||||
if (!old_val) {
|
if (!old_val) {
|
||||||
return true;
|
return true;
|
||||||
|
@ -105,7 +105,7 @@ static void set_drive_helper(Object *obj, Visitor *v, const char *name,
|
||||||
* TODO Should this really be an error? If no, the old value
|
* TODO Should this really be an error? If no, the old value
|
||||||
* needs to be released before we store the new one.
|
* needs to be released before we store the new one.
|
||||||
*/
|
*/
|
||||||
if (!check_prop_still_unset(dev, name, *ptr, str, errp)) {
|
if (!check_prop_still_unset(obj, name, *ptr, str, errp)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -247,7 +247,7 @@ static void set_chr(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||||
* TODO Should this really be an error? If no, the old value
|
* TODO Should this really be an error? If no, the old value
|
||||||
* needs to be released before we store the new one.
|
* needs to be released before we store the new one.
|
||||||
*/
|
*/
|
||||||
if (!check_prop_still_unset(dev, name, be->chr, str, errp)) {
|
if (!check_prop_still_unset(obj, name, be->chr, str, errp)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -429,7 +429,7 @@ static void set_netdev(Object *obj, Visitor *v, const char *name,
|
||||||
* TODO Should this really be an error? If no, the old value
|
* TODO Should this really be an error? If no, the old value
|
||||||
* needs to be released before we store the new one.
|
* needs to be released before we store the new one.
|
||||||
*/
|
*/
|
||||||
if (!check_prop_still_unset(dev, name, ncs[i], str, errp)) {
|
if (!check_prop_still_unset(obj, name, ncs[i], str, errp)) {
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue