On Wed, Jan 28, 2015 at 03:45:37PM +0800, Zhu Guihua wrote:
> From: Tang Chen <[email protected]>
>
> Memory and CPU hot unplug are both asynchronous procedures.
> They both need unplug request callback to initiate unplug operation.
>
> Add unplug handler to pc machine that will be used by following
> CPU and memory unplug patches.
>
> Reviewed-by: Igor Mammedov <[email protected]>
> Signed-off-by: Tang Chen <[email protected]>
> Signed-off-by: Zhu Guihua <[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 c7af6aa..15ee10a 100644
> --- a/hw/i386/pc.c
> +++ b/hw/i386/pc.c
> @@ -1680,6 +1680,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)));
> +}
> +
> static HotplugHandler *pc_get_hotpug_handler(MachineState *machine,
> DeviceState *dev)
> {
So this is just a stub, your follow-up patches replace it with
something more useful?
Why do we need the stub stage though?
Why not just add whatever's going to be there eventually?
> @@ -1809,6 +1816,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 = {
> --
> 1.9.3