On Mon, 20 Mar 2017 21:00:24 +0300 Anton Volkov <arvol...@inbox.ru> wrote:
> Made functions *_exit in hw/ return void instead of int (they returned 0 all > the time) > and removed related return value checks Makes sense, I guess. Better make the title "hw: make exit callbacks void" or so, though. > > Signed-off-by: Anton Volkov <arvol...@inbox.ru> > --- > hw/audio/hda-codec.c | 3 +-- > hw/audio/intel-hda.c | 3 +-- > hw/audio/intel-hda.h | 2 +- > hw/char/sclpconsole-lm.c | 4 ++-- > hw/char/sclpconsole.c | 4 ++-- > hw/core/qdev.c | 6 +----- > hw/s390x/event-facility.c | 6 +----- > hw/s390x/virtio-ccw.c | 7 +++---- > hw/s390x/virtio-ccw.h | 2 +- > hw/usb/dev-smartcard-reader.c | 3 +-- > include/hw/qdev-core.h | 2 +- > include/hw/s390x/event-facility.h | 2 +- > 12 files changed, 16 insertions(+), 28 deletions(-) > > diff --git a/hw/char/sclpconsole-lm.c b/hw/char/sclpconsole-lm.c > index 07d6ebd..fbe5b42 100644 > --- a/hw/char/sclpconsole-lm.c > +++ b/hw/char/sclpconsole-lm.c > @@ -318,9 +318,9 @@ static int console_init(SCLPEvent *event) > return 0; > } > > -static int console_exit(SCLPEvent *event) > +static void console_exit(SCLPEvent *event) > { > - return 0; > + return; > } > > static void console_reset(DeviceState *dev) > diff --git a/hw/char/sclpconsole.c b/hw/char/sclpconsole.c > index b78f240..644f7cd 100644 > --- a/hw/char/sclpconsole.c > +++ b/hw/char/sclpconsole.c > @@ -246,9 +246,9 @@ static void console_reset(DeviceState *dev) > scon->notify = false; > } > > -static int console_exit(SCLPEvent *event) > +static void console_exit(SCLPEvent *event) > { > - return 0; > + return; > } > The two sclp callbacks are not very useful in any case... > static Property console_properties[] = { > 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); ...and this makes much more sense than stopping midway with an error. > } > } > > diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c > index 00b3bde..d1c4ff6 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) > @@ -1616,12 +1615,12 @@ static void virtio_ccw_busdev_realize(DeviceState > *dev, Error **errp) > virtio_ccw_device_realize(_dev, errp); > } > > -static int virtio_ccw_busdev_exit(DeviceState *dev) > +static void 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); > } > > 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 > diff --git a/include/hw/s390x/event-facility.h > b/include/hw/s390x/event-facility.h > index def1bb0..1a32f3a 100644 > --- a/include/hw/s390x/event-facility.h > +++ b/include/hw/s390x/event-facility.h > @@ -162,7 +162,7 @@ typedef struct SCLPEvent { > typedef struct SCLPEventClass { > DeviceClass parent_class; > int (*init)(SCLPEvent *event); > - int (*exit)(SCLPEvent *event); > + void (*exit)(SCLPEvent *event); > > /* get SCLP's send mask */ > unsigned int (*get_send_mask)(void); I'd take a factored-out s390x patch through my tree. In any case, Acked-by: Cornelia Huck <cornelia.h...@de.ibm.com> for the s390x parts.