[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/2] hw/s390x: make virtio_ccw_exit function in
From: |
Cornelia Huck |
Subject: |
Re: [Qemu-devel] [PATCH 2/2] hw/s390x: make virtio_ccw_exit function in virtio-ccw return void |
Date: |
Mon, 24 Apr 2017 11:03:34 +0200 |
On Thu, 20 Apr 2017 02:21:30 +0800
Zihan Yang <address@hidden> wrote:
> Note that only the virtio_ccw_exit, which is the exit function
> of VirtIOCCWDeviceClass, is modified to return void in this patch.
> 'virtio_ccw_busdev_exit' belongs to DeviceClass so it remains
> unchanged for the moment to give a split-out patch, because
> modifying it would involve some other folders like hw/audio.
Change the last sentence to "DeviceClass::exit will be converted to
void in another patch" or so.
Also, the same leading whitespace as in your previous patch.
>
> Signed-off-by: Zihan Yang <address@hidden>
> ---
> hw/s390x/event-facility.c | 6 +-----
> hw/s390x/virtio-ccw.c | 6 +++---
> hw/s390x/virtio-ccw.h | 2 +-
> 3 files changed, 5 insertions(+), 9 deletions(-)
>
> diff --git a/hw/s390x/event-facility.c b/hw/s390x/event-facility.c
> index 34b2faf..f7c509c 100644
> --- a/hw/s390x/event-facility.c
> +++ b/hw/s390x/event-facility.c
> @@ -413,11 +413,7 @@ static void event_unrealize(DeviceState *qdev, Error
> **errp)
> SCLPEvent *event = SCLP_EVENT(qdev);
> SCLPEventClass *child = SCLP_EVENT_GET_CLASS(event);
> if (child->exit) {
> - int rc = child->exit(event);
> - if (rc < 0) {
> - error_setg(errp, "SCLP event exit failed.");
> - return;
> - }
> + child->exit(event);
> }
> }
Ah, here's the hunk that should have been in the previous patch.
>
> diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
> index 00b3bde..0dbd3ee 100644
> --- a/hw/s390x/virtio-ccw.c
> +++ b/hw/s390x/virtio-ccw.c
> @@ -722,7 +722,7 @@ static void virtio_ccw_device_realize(VirtioCcwDevice
> *dev, Error **errp)
> }
> }
>
> -static int virtio_ccw_exit(VirtioCcwDevice *dev)
> +static void virtio_ccw_exit(VirtioCcwDevice *dev)
> {
> CcwDevice *ccw_dev = CCW_DEVICE(dev);
> SubchDev *sch = ccw_dev->sch;
> @@ -735,7 +735,6 @@ static int virtio_ccw_exit(VirtioCcwDevice *dev)
> release_indicator(&dev->routes.adapter, dev->indicators);
> dev->indicators = NULL;
> }
> - return 0;
> }
>
> static void virtio_ccw_net_realize(VirtioCcwDevice *ccw_dev, Error **errp)
> @@ -1621,7 +1620,8 @@ static int virtio_ccw_busdev_exit(DeviceState *dev)
> VirtioCcwDevice *_dev = (VirtioCcwDevice *)dev;
> VirtIOCCWDeviceClass *_info = VIRTIO_CCW_DEVICE_GET_CLASS(dev);
>
> - return _info->exit(_dev);
> + _info->exit(_dev);
> + return 0; /* TODO workaround, should remove once converted to unrealize
> */
I find that comment a bit confusing - just omit it?
> }
>
> static void virtio_ccw_busdev_unplug(HotplugHandler *hotplug_dev,
> diff --git a/hw/s390x/virtio-ccw.h b/hw/s390x/virtio-ccw.h
> index 41d4010..ce8baa3 100644
> --- a/hw/s390x/virtio-ccw.h
> +++ b/hw/s390x/virtio-ccw.h
> @@ -74,7 +74,7 @@ typedef struct VirtioCcwDevice VirtioCcwDevice;
> typedef struct VirtIOCCWDeviceClass {
> CCWDeviceClass parent_class;
> void (*realize)(VirtioCcwDevice *dev, Error **errp);
> - int (*exit)(VirtioCcwDevice *dev);
> + void (*exit)(VirtioCcwDevice *dev);
> } VirtIOCCWDeviceClass;
>
> /* Performance improves when virtqueue kick processing is decoupled from the