From 2d9a982f37cc7c427d655a828c5ffa3cc5753863 Mon Sep 17 00:00:00 2001 From: Igor Mammedov Date: Fri, 26 Sep 2014 09:28:40 +0000 Subject: [PATCH] qdev: Drop legacy hotplug fields/methods MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit It removes not needed anymore BusState::allow_hotplug field and DeviceClass::unplug callback. Signed-off-by: Igor Mammedov Reviewed-by: Paolo Bonzini Signed-off-by: Andreas Färber --- hw/core/qdev.c | 16 +++------------- include/hw/qdev-core.h | 5 +---- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 6439a23273..3e58dd0309 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -114,7 +114,6 @@ static void qbus_set_hotplug_handler_internal(BusState *bus, Object *handler, object_property_set_link(OBJECT(bus), OBJECT(handler), QDEV_HOTPLUG_HANDLER_PROPERTY, errp); - bus->allow_hotplug = 1; } void qbus_set_hotplug_handler(BusState *bus, DeviceState *handler, Error **errp) @@ -254,10 +253,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); } } @@ -294,17 +290,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 48e9579a88..01d7db47e0 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); @@ -370,6 +367,6 @@ void qbus_set_bus_hotplug_handler(BusState *bus, Error **errp); static inline bool qbus_is_hotpluggable(BusState *bus) { - return bus->allow_hotplug || bus->hotplug_handler; + return bus->hotplug_handler; } #endif -- 2.11.4.GIT