PciDevfn is a bit special, since it accepts integer and string as setter, but only output integer as getter.
Unfortunately, we can't declare an alternate str|int QAPI type for it, since: branch 'string' can't be distinguished from 'integer' Rather than declaring it as "str", use the common type instead. Signed-off-by: Marc-André Lureau <[email protected]> --- hw/core/qdev-properties-system.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-system.c index 5bfdfe1ab9d9..3381de1144d6 100644 --- a/hw/core/qdev-properties-system.c +++ b/hw/core/qdev-properties-system.c @@ -904,7 +904,8 @@ static char *print_pci_devfn(Object *obj, const Property *prop) } const PropertyInfo qdev_prop_pci_devfn = { - .type = "str", + /* The formatted string accepted by the setter is a CLI convenience. */ + .type = "int32", .description = "Slot and optional function number, example: 06.0 or 06", .print = print_pci_devfn, .get = qdev_propinfo_get_int32, -- 2.55.0.543.g5ebe2ebe4ea8
