qdev: Get just property name at error_set_from_qdev_prop_error()
Replace `Property *prop` parameter with `char *name`, to reduce dependency of getter and setter functions on the Property struct (which will be changed in following patches). Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Message-Id: <20201211220529.2290218-19-ehabkost@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
		
							parent
							
								
									43b6ab4c67
								
							
						
					
					
						commit
						e68c2cb75a
					
				@ -354,7 +354,7 @@ static void set_mac(Object *obj, Visitor *v, const char *name, void *opaque,
 | 
			
		||||
    return;
 | 
			
		||||
 | 
			
		||||
inval:
 | 
			
		||||
    error_set_from_qdev_prop_error(errp, EINVAL, obj, prop, str);
 | 
			
		||||
    error_set_from_qdev_prop_error(errp, EINVAL, obj, name, str);
 | 
			
		||||
    g_free(str);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -442,7 +442,7 @@ static void set_netdev(Object *obj, Visitor *v, const char *name,
 | 
			
		||||
    peers_ptr->queues = queues;
 | 
			
		||||
 | 
			
		||||
out:
 | 
			
		||||
    error_set_from_qdev_prop_error(errp, err, obj, prop, str);
 | 
			
		||||
    error_set_from_qdev_prop_error(errp, err, obj, name, str);
 | 
			
		||||
    g_free(str);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -494,7 +494,7 @@ static void set_audiodev(Object *obj, Visitor *v, const char* name,
 | 
			
		||||
    card->state = state;
 | 
			
		||||
 | 
			
		||||
out:
 | 
			
		||||
    error_set_from_qdev_prop_error(errp, err, obj, prop, str);
 | 
			
		||||
    error_set_from_qdev_prop_error(errp, err, obj, name, str);
 | 
			
		||||
    g_free(str);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -792,7 +792,7 @@ static void set_pci_devfn(Object *obj, Visitor *v, const char *name,
 | 
			
		||||
    return;
 | 
			
		||||
 | 
			
		||||
invalid:
 | 
			
		||||
    error_set_from_qdev_prop_error(errp, EINVAL, obj, prop, str);
 | 
			
		||||
    error_set_from_qdev_prop_error(errp, EINVAL, obj, name, str);
 | 
			
		||||
    g_free(str);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -916,7 +916,7 @@ static void set_pci_host_devaddr(Object *obj, Visitor *v, const char *name,
 | 
			
		||||
    return;
 | 
			
		||||
 | 
			
		||||
inval:
 | 
			
		||||
    error_set_from_qdev_prop_error(errp, EINVAL, obj, prop, str);
 | 
			
		||||
    error_set_from_qdev_prop_error(errp, EINVAL, obj, name, str);
 | 
			
		||||
    g_free(str);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1146,7 +1146,7 @@ static void set_uuid(Object *obj, Visitor *v, const char *name, void *opaque,
 | 
			
		||||
    if (!strcmp(str, UUID_VALUE_AUTO)) {
 | 
			
		||||
        qemu_uuid_generate(uuid);
 | 
			
		||||
    } else if (qemu_uuid_parse(str, uuid) < 0) {
 | 
			
		||||
        error_set_from_qdev_prop_error(errp, EINVAL, obj, prop, str);
 | 
			
		||||
        error_set_from_qdev_prop_error(errp, EINVAL, obj, name, str);
 | 
			
		||||
    }
 | 
			
		||||
    g_free(str);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -679,21 +679,21 @@ static Property *qdev_prop_find(DeviceState *dev, const char *name)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void error_set_from_qdev_prop_error(Error **errp, int ret, Object *obj,
 | 
			
		||||
                                    Property *prop, const char *value)
 | 
			
		||||
                                    const char *name, const char *value)
 | 
			
		||||
{
 | 
			
		||||
    switch (ret) {
 | 
			
		||||
    case -EEXIST:
 | 
			
		||||
        error_setg(errp, "Property '%s.%s' can't take value '%s', it's in use",
 | 
			
		||||
                  object_get_typename(obj), prop->name, value);
 | 
			
		||||
                  object_get_typename(obj), name, value);
 | 
			
		||||
        break;
 | 
			
		||||
    default:
 | 
			
		||||
    case -EINVAL:
 | 
			
		||||
        error_setg(errp, QERR_PROPERTY_VALUE_BAD,
 | 
			
		||||
                   object_get_typename(obj), prop->name, value);
 | 
			
		||||
                   object_get_typename(obj), name, value);
 | 
			
		||||
        break;
 | 
			
		||||
    case -ENOENT:
 | 
			
		||||
        error_setg(errp, "Property '%s.%s' can't find value '%s'",
 | 
			
		||||
                  object_get_typename(obj), prop->name, value);
 | 
			
		||||
                  object_get_typename(obj), name, value);
 | 
			
		||||
        break;
 | 
			
		||||
    case 0:
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
@ -2390,7 +2390,7 @@ static void set_css_devid(Object *obj, Visitor *v, const char *name,
 | 
			
		||||
 | 
			
		||||
    num = sscanf(str, "%2x.%1x%n.%4x%n", &cssid, &ssid, &n1, &devid, &n2);
 | 
			
		||||
    if (num != 3 || (n2 - n1) != 5 || strlen(str) != n2) {
 | 
			
		||||
        error_set_from_qdev_prop_error(errp, EINVAL, obj, prop, str);
 | 
			
		||||
        error_set_from_qdev_prop_error(errp, EINVAL, obj, name, str);
 | 
			
		||||
        goto out;
 | 
			
		||||
    }
 | 
			
		||||
    if ((cssid > MAX_CSSID) || (ssid > MAX_SSID)) {
 | 
			
		||||
 | 
			
		||||
@ -201,7 +201,7 @@ const GlobalProperty *qdev_find_global_prop(Object *obj,
 | 
			
		||||
int qdev_prop_check_globals(void);
 | 
			
		||||
void qdev_prop_set_globals(DeviceState *dev);
 | 
			
		||||
void error_set_from_qdev_prop_error(Error **errp, int ret, Object *obj,
 | 
			
		||||
                                    Property *prop, const char *value);
 | 
			
		||||
                                    const char *name, const char *value);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * qdev_property_add_static:
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user