On Mon, 17 Nov 2014 13:03:13 +0800 Tang Chen <[email protected]> wrote:
in subj s/cb/callback|handler/ > Memory and CPU hot unplug are both asynchronize procedures. s/asynchronize/asynchronous/ > They both need unplug request cb when the unplug operation happens. s/cb when the unplug operation happens/callback to initiate unplug operation/ > > This patch adds hotunplug request cb for pc machine, and memory and CPU > hot unplug will base on it. Add unplug handler to pc machine that will be used by following CPU and memory unplug patches. > > Signed-off-by: Tang Chen <[email protected]> > --- > hw/i386/pc.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/hw/i386/pc.c b/hw/i386/pc.c > index 1205db8..5c48435 100644 > --- a/hw/i386/pc.c > +++ b/hw/i386/pc.c > @@ -1647,6 +1647,13 @@ static void pc_machine_device_plug_cb(HotplugHandler > *hotplug_dev, > } > } > > +static void pc_machine_device_unplug_request_cb(HotplugHandler *hotplug_dev, > + DeviceState *dev, Error > **errp) > +{ > + error_setg(errp, "acpi: device unplug request for not supported device" > + " type: %s", object_get_typename(OBJECT(dev))); it's not necessarily acpi related in general so maybe drop 'acpi:' prefix. Also it would be nice to add device's ID or use it instead of type name. > +} > + > static HotplugHandler *pc_get_hotpug_handler(MachineState *machine, > DeviceState *dev) > { > @@ -1753,6 +1760,7 @@ static void pc_machine_class_init(ObjectClass *oc, void > *data) > pcmc->get_hotplug_handler = mc->get_hotplug_handler; > mc->get_hotplug_handler = pc_get_hotpug_handler; > hc->plug = pc_machine_device_plug_cb; > + hc->unplug_request = pc_machine_device_unplug_request_cb; > } > > static const TypeInfo pc_machine_info = {
