From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56145) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XXRrK-0003BX-P0 for qemu-devel@nongnu.org; Fri, 26 Sep 2014 05:30:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XXRr9-00086b-8L for qemu-devel@nongnu.org; Fri, 26 Sep 2014 05:30:34 -0400 Received: from mx1.redhat.com ([209.132.183.28]:62320) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XXRr8-00083x-WB for qemu-devel@nongnu.org; Fri, 26 Sep 2014 05:30:27 -0400 From: Igor Mammedov Date: Fri, 26 Sep 2014 09:28:40 +0000 Message-Id: <1411723721-20484-36-git-send-email-imammedo@redhat.com> In-Reply-To: <1411723721-20484-1-git-send-email-imammedo@redhat.com> References: <1411723721-20484-1-git-send-email-imammedo@redhat.com> Subject: [Qemu-devel] [PATCH v2 35/36] qdev: drop legacy hotplug fields/methods List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: cornelia.huck@de.ibm.com, mst@redhat.com, amit.shah@redhat.com, agraf@suse.de, borntraeger@de.ibm.com, kraxel@redhat.com, dmitry@daynix.com, pbonzini@redhat.com, rth@twiddle.net It removes not needed anymore BusState.allow_hotplug field and DeviceClass.unplug callback. Signed-off-by: Igor Mammedov Reviewed-by: Paolo Bonzini --- 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 fa86843..bc45a59 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 48e9579..01d7db4 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 -- 1.8.3.1