Skip to content

Commit

Permalink
qdev: Make PropertyInfo.print method get Object* argument
Browse files Browse the repository at this point in the history
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-8-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
  • Loading branch information
ehabkost committed Dec 15, 2020
1 parent 5eb32b2 commit 40ea00b
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 4 deletions.
3 changes: 2 additions & 1 deletion hw/core/qdev-properties-system.c
Original file line number Diff line number Diff line change
Expand Up @@ -801,9 +801,10 @@ static void set_pci_devfn(Object *obj, Visitor *v, const char *name,
g_free(str);
}

static int print_pci_devfn(DeviceState *dev, Property *prop, char *dest,
static int print_pci_devfn(Object *obj, Property *prop, char *dest,
size_t len)
{
DeviceState *dev = DEVICE(obj);
int32_t *ptr = qdev_get_prop_ptr(dev, prop);

if (*ptr == -1) {
Expand Down
3 changes: 1 addition & 2 deletions hw/core/qdev-properties.c
Original file line number Diff line number Diff line change
Expand Up @@ -988,13 +988,12 @@ static void qdev_get_legacy_property(Object *obj, Visitor *v,
const char *name, void *opaque,
Error **errp)
{
DeviceState *dev = DEVICE(obj);
Property *prop = opaque;

char buffer[1024];
char *ptr = buffer;

prop->info->print(dev, prop, buffer, sizeof(buffer));
prop->info->print(obj, prop, buffer, sizeof(buffer));
visit_type_str(v, name, &ptr, errp);
}

Expand Down
2 changes: 1 addition & 1 deletion include/hw/qdev-properties.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ struct PropertyInfo {
const char *name;
const char *description;
const QEnumLookup *enum_table;
int (*print)(DeviceState *dev, Property *prop, char *dest, size_t len);
int (*print)(Object *obj, Property *prop, char *dest, size_t len);
void (*set_default_value)(ObjectProperty *op, const Property *prop);
void (*create)(ObjectClass *oc, Property *prop);
ObjectPropertyAccessor *get;
Expand Down

0 comments on commit 40ea00b

Please sign in to comment.