qom: distinguish "legacy" property type name from QOM type name

Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Paolo Bonzini 2011-12-18 17:05:10 +01:00 committed by Anthony Liguori
parent 80e555c241
commit cafe5bdb9a
3 changed files with 15 additions and 7 deletions

View file

@ -86,7 +86,8 @@ static void set_bit(DeviceState *dev, Visitor *v, void *opaque,
}
PropertyInfo qdev_prop_bit = {
.name = "on/off",
.name = "boolean",
.legacy_name = "on/off",
.type = PROP_TYPE_BIT,
.size = sizeof(uint32_t),
.parse = parse_bit,
@ -189,7 +190,8 @@ static int print_hex8(DeviceState *dev, Property *prop, char *dest, size_t len)
}
PropertyInfo qdev_prop_hex8 = {
.name = "hex8",
.name = "uint8",
.legacy_name = "hex8",
.type = PROP_TYPE_UINT8,
.size = sizeof(uint8_t),
.parse = parse_hex8,
@ -397,7 +399,8 @@ static int print_hex32(DeviceState *dev, Property *prop, char *dest, size_t len)
}
PropertyInfo qdev_prop_hex32 = {
.name = "hex32",
.name = "uint32",
.legacy_name = "hex32",
.type = PROP_TYPE_UINT32,
.size = sizeof(uint32_t),
.parse = parse_hex32,
@ -485,7 +488,8 @@ static int print_hex64(DeviceState *dev, Property *prop, char *dest, size_t len)
}
PropertyInfo qdev_prop_hex64 = {
.name = "hex64",
.name = "uint64",
.legacy_name = "hex64",
.type = PROP_TYPE_UINT64,
.size = sizeof(uint64_t),
.parse = parse_hex64,

View file

@ -218,13 +218,15 @@ int qdev_device_help(QemuOpts *opts)
if (!prop->info->parse) {
continue; /* no way to set it, don't show */
}
error_printf("%s.%s=%s\n", info->name, prop->name, prop->info->name);
error_printf("%s.%s=%s\n", info->name, prop->name,
prop->info->legacy_name ?: prop->info->name);
}
for (prop = info->bus_info->props; prop && prop->name; prop++) {
if (!prop->info->parse) {
continue; /* no way to set it, don't show */
}
error_printf("%s.%s=%s\n", info->name, prop->name, prop->info->name);
error_printf("%s.%s=%s\n", info->name, prop->name,
prop->info->legacy_name ?: prop->info->name);
}
return 1;
}
@ -1180,7 +1182,8 @@ void qdev_property_add_legacy(DeviceState *dev, Property *prop,
{
gchar *type;
type = g_strdup_printf("legacy<%s>", prop->info->name);
type = g_strdup_printf("legacy<%s>",
prop->info->legacy_name ?: prop->info->name);
qdev_property_add(dev, prop->name, type,
prop->info->print ? qdev_get_legacy_property : NULL,

View file

@ -156,6 +156,7 @@ enum PropertyType {
struct PropertyInfo {
const char *name;
const char *legacy_name;
size_t size;
enum PropertyType type;
int64_t min;