return 0;
}
- if (!object_class_by_name(driver)) {
- const char *typename = find_typename_by_alias(driver);
-
- if (typename) {
- driver = typename;
- }
+ qdev_get_device_class(&driver, &local_err);
+ if (local_err) {
+ goto error;
}
prop_list = qmp_device_list_properties(driver, &local_err);
if (local_err) {
- error_printf("%s\n", error_get_pretty(local_err));
- error_free(local_err);
- return 1;
+ goto error;
}
for (prop = prop_list; prop; prop = prop->next) {
qapi_free_DevicePropertyInfoList(prop_list);
return 1;
+
+error:
+ error_printf("%s\n", error_get_pretty(local_err));
+ error_free(local_err);
+ return 1;
}
static Object *qdev_get_peripheral(void)