Skip to content

Commit

Permalink
qdev: qdev_create(), qdev_try_create() are now unused, drop
Browse files Browse the repository at this point in the history
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200610053247.1583243-31-armbru@redhat.com>
  • Loading branch information
Markus Armbruster committed Jun 15, 2020
1 parent 5357705 commit 2194abd
Show file tree
Hide file tree
Showing 4 changed files with 1 addition and 52 deletions.
48 changes: 0 additions & 48 deletions hw/core/qdev.c
Expand Up @@ -128,54 +128,6 @@ void qdev_set_parent_bus(DeviceState *dev, BusState *bus)
}
}

/* Create a new device. This only initializes the device state
structure and allows properties to be set. The device still needs
to be realized. See qdev-core.h. */
DeviceState *qdev_create(BusState *bus, const char *name)
{
DeviceState *dev;

dev = qdev_try_create(bus, name);
if (!dev) {
if (bus) {
error_report("Unknown device '%s' for bus '%s'", name,
object_get_typename(OBJECT(bus)));
} else {
error_report("Unknown device '%s' for default sysbus", name);
}
abort();
}

return dev;
}

DeviceState *qdev_try_create(BusState *bus, const char *type)
{
DeviceState *dev;

if (object_class_by_name(type) == NULL) {
return NULL;
}
dev = DEVICE(object_new(type));
if (!dev) {
return NULL;
}

if (!bus) {
/* Assert that the device really is a SysBusDevice before
* we put it onto the sysbus. Non-sysbus devices which aren't
* being put onto a bus should be created with object_new(TYPE_FOO),
* not qdev_create(NULL, TYPE_FOO).
*/
g_assert(object_dynamic_cast(OBJECT(dev), TYPE_SYS_BUS_DEVICE));
bus = sysbus_get_default();
}

qdev_set_parent_bus(dev, bus);
object_unref(OBJECT(dev));
return dev;
}

/*
* Create a device on the heap.
* A type @name must exist.
Expand Down
1 change: 0 additions & 1 deletion hw/core/sysbus.c
Expand Up @@ -325,7 +325,6 @@ static const TypeInfo sysbus_device_type_info = {
.class_init = sysbus_device_class_init,
};

/* This is a nasty hack to allow passing a NULL bus to qdev_create. */
static BusState *main_system_bus;

static void main_system_bus_create(void)
Expand Down
2 changes: 0 additions & 2 deletions include/hw/qdev-core.h
Expand Up @@ -320,8 +320,6 @@ compat_props_add(GPtrArray *arr,

/*** Board API. This should go away once we have a machine config file. ***/

DeviceState *qdev_create(BusState *bus, const char *name);
DeviceState *qdev_try_create(BusState *bus, const char *name);
DeviceState *qdev_new(const char *name);
DeviceState *qdev_try_new(const char *name);
void qdev_init_nofail(DeviceState *dev);
Expand Down
2 changes: 1 addition & 1 deletion migration/migration.c
Expand Up @@ -3778,7 +3778,7 @@ static const TypeInfo migration_type = {
.name = TYPE_MIGRATION,
/*
* NOTE: TYPE_MIGRATION is not really a device, as the object is
* not created using qdev_create(), it is not attached to the qdev
* not created using qdev_new(), it is not attached to the qdev
* device tree, and it is never realized.
*
* TODO: Make this TYPE_OBJECT once QOM provides something like
Expand Down

0 comments on commit 2194abd

Please sign in to comment.