|
@@ -33,7 +33,6 @@
|
|
|
#include "qapi/visitor.h"
|
|
|
#include "qemu/error-report.h"
|
|
|
#include "qemu/option.h"
|
|
|
-#include "hw/hotplug.h"
|
|
|
#include "hw/irq.h"
|
|
|
#include "hw/qdev-properties.h"
|
|
|
#include "hw/boards.h"
|
|
@@ -238,58 +237,6 @@ void qdev_set_legacy_instance_id(DeviceState *dev, int alias_id,
|
|
|
dev->alias_required_for_version = required_for_version;
|
|
|
}
|
|
|
|
|
|
-HotplugHandler *qdev_get_machine_hotplug_handler(DeviceState *dev)
|
|
|
-{
|
|
|
- MachineState *machine;
|
|
|
- MachineClass *mc;
|
|
|
- Object *m_obj = qdev_get_machine();
|
|
|
-
|
|
|
- if (object_dynamic_cast(m_obj, TYPE_MACHINE)) {
|
|
|
- machine = MACHINE(m_obj);
|
|
|
- mc = MACHINE_GET_CLASS(machine);
|
|
|
- if (mc->get_hotplug_handler) {
|
|
|
- return mc->get_hotplug_handler(machine, dev);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return NULL;
|
|
|
-}
|
|
|
-
|
|
|
-bool qdev_hotplug_allowed(DeviceState *dev, Error **errp)
|
|
|
-{
|
|
|
- MachineState *machine;
|
|
|
- MachineClass *mc;
|
|
|
- Object *m_obj = qdev_get_machine();
|
|
|
-
|
|
|
- if (object_dynamic_cast(m_obj, TYPE_MACHINE)) {
|
|
|
- machine = MACHINE(m_obj);
|
|
|
- mc = MACHINE_GET_CLASS(machine);
|
|
|
- if (mc->hotplug_allowed) {
|
|
|
- return mc->hotplug_allowed(machine, dev, errp);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return true;
|
|
|
-}
|
|
|
-
|
|
|
-HotplugHandler *qdev_get_bus_hotplug_handler(DeviceState *dev)
|
|
|
-{
|
|
|
- if (dev->parent_bus) {
|
|
|
- return dev->parent_bus->hotplug_handler;
|
|
|
- }
|
|
|
- return NULL;
|
|
|
-}
|
|
|
-
|
|
|
-HotplugHandler *qdev_get_hotplug_handler(DeviceState *dev)
|
|
|
-{
|
|
|
- HotplugHandler *hotplug_ctrl = qdev_get_machine_hotplug_handler(dev);
|
|
|
-
|
|
|
- if (hotplug_ctrl == NULL && dev->parent_bus) {
|
|
|
- hotplug_ctrl = qdev_get_bus_hotplug_handler(dev);
|
|
|
- }
|
|
|
- return hotplug_ctrl;
|
|
|
-}
|
|
|
-
|
|
|
static int qdev_prereset(DeviceState *dev, void *opaque)
|
|
|
{
|
|
|
trace_qdev_reset_tree(dev, object_get_typename(OBJECT(dev)));
|
|
@@ -371,13 +318,6 @@ static void device_reset_child_foreach(Object *obj, ResettableChildCallback cb,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-/* can be used as ->unplug() callback for the simple cases */
|
|
|
-void qdev_simple_device_unplug_cb(HotplugHandler *hotplug_dev,
|
|
|
- DeviceState *dev, Error **errp)
|
|
|
-{
|
|
|
- qdev_unrealize(dev);
|
|
|
-}
|
|
|
-
|
|
|
bool qdev_realize(DeviceState *dev, BusState *bus, Error **errp)
|
|
|
{
|
|
|
assert(!dev->realized && !dev->parent_bus);
|