It removes not needed anymore BusState.allow_hotplug field and DeviceClass.unplug callback.
Signed-off-by: Igor Mammedov <imamm...@redhat.com> --- hw/core/qdev.c | 15 +++------------ include/hw/qdev-core.h | 7 +------ 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 1d1b113..4182cc3 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -239,10 +239,7 @@ void qdev_unplug(DeviceState *dev, Error **errp) hotplug_handler_unplug(dev->parent_bus->hotplug_handler, dev, errp); } } else { - assert(dc->unplug != NULL); - if (dc->unplug(dev) < 0) { /* legacy handler */ - error_set(errp, QERR_UNDEFINED_ERROR); - } + assert(0); } } @@ -279,17 +276,11 @@ void qbus_reset_all_fn(void *opaque) } /* can be used as ->unplug() callback for the simple cases */ -int qdev_simple_unplug_cb(DeviceState *dev) -{ - /* just zap it */ - object_unparent(OBJECT(dev)); - return 0; -} - void qdev_simple_device_unplug_cb(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp) { - qdev_simple_unplug_cb(dev); + /* just zap it */ + object_unparent(OBJECT(dev)); } /* Like qdev_init(), but terminate program via error_report() instead of diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h index 653ff4a..01443c9 100644 --- a/include/hw/qdev-core.h +++ b/include/hw/qdev-core.h @@ -126,7 +126,6 @@ typedef struct DeviceClass { /* Private to qdev / bus. */ qdev_initfn init; /* TODO remove, once users are converted to realize */ - qdev_event unplug; qdev_event exit; /* TODO remove, once users are converted to unrealize */ const char *bus_type; } DeviceClass; @@ -210,7 +209,6 @@ struct BusState { Object obj; DeviceState *parent; const char *name; - int allow_hotplug; HotplugHandler *hotplug_handler; int max_index; bool realized; @@ -264,7 +262,6 @@ void qdev_init_nofail(DeviceState *dev); void qdev_set_legacy_instance_id(DeviceState *dev, int alias_id, int required_for_version); void qdev_unplug(DeviceState *dev, Error **errp); -int qdev_simple_unplug_cb(DeviceState *dev); void qdev_simple_device_unplug_cb(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp); void qdev_machine_creation_done(void); @@ -366,8 +363,6 @@ char *qdev_get_dev_path(DeviceState *dev); static inline void qbus_set_hotplug_handler(BusState *bus, DeviceState *handler, Error **errp) { - bus->allow_hotplug = 1; - if (!object_dynamic_cast(OBJECT(handler), TYPE_HOTPLUG_HANDLER)) { return; } @@ -378,6 +373,6 @@ static inline void qbus_set_hotplug_handler(BusState *bus, DeviceState *handler, static inline bool qbus_is_hotpluggable(BusState *bus) { - return bus->allow_hotplug || bus->hotplug_handler; + return bus->hotplug_handler; } #endif -- 1.8.3.1