On Mon, 2022-03-28 at 16:30 +0200, Paolo Bonzini wrote: > Remove unecessary use of #ifdef CONFIG_VHOST_SCSI, instead just use a > separate file and a separate rule in meson.build. > > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > --- > hw/s390x/meson.build | 1 + > hw/s390x/vhost-scsi-ccw.c | 64 > ++++++++++++++++++++++++++++++++++++++ > hw/s390x/virtio-ccw-scsi.c | 47 ---------------------------- > 3 files changed, 65 insertions(+), 47 deletions(-) > create mode 100644 hw/s390x/vhost-scsi-ccw.c > > diff --git a/hw/s390x/meson.build b/hw/s390x/meson.build > index 28484256ec..feefe0717e 100644 > --- a/hw/s390x/meson.build > +++ b/hw/s390x/meson.build > @@ -44,6 +44,7 @@ virtio_ss.add(when: 'CONFIG_VIRTIO_SERIAL', > if_true: files('virtio-ccw-serial.c' > if have_virtfs > virtio_ss.add(when: 'CONFIG_VIRTIO_9P', if_true: files('virtio- > ccw-9p.c')) > endif > +virtio_ss.add(when: 'CONFIG_VHOST_SCSI', if_true: files('vhost-scsi- > ccw.c')) > virtio_ss.add(when: 'CONFIG_VHOST_VSOCK', if_true: files('vhost- > vsock-ccw.c')) > virtio_ss.add(when: 'CONFIG_VHOST_USER_FS', if_true: files('vhost- > user-fs-ccw.c')) > s390x_ss.add_all(when: 'CONFIG_VIRTIO_CCW', if_true: virtio_ss) > diff --git a/hw/s390x/vhost-scsi-ccw.c b/hw/s390x/vhost-scsi-ccw.c > new file mode 100644 > index 0000000000..b68ddddd1c > --- /dev/null > +++ b/hw/s390x/vhost-scsi-ccw.c
Entries exist in the "virtio-ccw" section of MAINTAINERS for the two vhost files that live in hw/s390x/ today (also covered by the wildcard entry for vhost). I'd guess this means we should add another to cover the new file? Besides that, looks fine. Reviewed-by: Eric Farman <far...@linux.ibm.com> Thanks, Eric > @@ -0,0 +1,64 @@ > +/* > + * vhost ccw scsi implementation > + * > + * Copyright 2012, 2015 IBM Corp. > + * Author(s): Cornelia Huck <cornelia.h...@de.ibm.com> > + * > + * This work is licensed under the terms of the GNU GPL, version 2 > or (at > + * your option) any later version. See the COPYING file in the top- > level > + * directory. > + */ > + > +#include "qemu/osdep.h" > +#include "hw/qdev-properties.h" > +#include "hw/virtio/virtio.h" > +#include "qapi/error.h" > +#include "qemu/module.h" > +#include "virtio-ccw.h" > + > +static void vhost_ccw_scsi_realize(VirtioCcwDevice *ccw_dev, Error > **errp) > +{ > + VHostSCSICcw *dev = VHOST_SCSI_CCW(ccw_dev); > + DeviceState *vdev = DEVICE(&dev->vdev); > + > + qdev_realize(vdev, BUS(&ccw_dev->bus), errp); > +} > + > +static void vhost_ccw_scsi_instance_init(Object *obj) > +{ > + VHostSCSICcw *dev = VHOST_SCSI_CCW(obj); > + > + virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev), > + TYPE_VHOST_SCSI); > +} > + > +static Property vhost_ccw_scsi_properties[] = { > + DEFINE_PROP_UINT32("max_revision", VirtioCcwDevice, max_rev, > + VIRTIO_CCW_MAX_REV), > + DEFINE_PROP_END_OF_LIST(), > +}; > + > +static void vhost_ccw_scsi_class_init(ObjectClass *klass, void > *data) > +{ > + DeviceClass *dc = DEVICE_CLASS(klass); > + VirtIOCCWDeviceClass *k = VIRTIO_CCW_DEVICE_CLASS(klass); > + > + k->realize = vhost_ccw_scsi_realize; > + device_class_set_props(dc, vhost_ccw_scsi_properties); > + set_bit(DEVICE_CATEGORY_STORAGE, dc->categories); > +} > + > +static const TypeInfo vhost_ccw_scsi = { > + .name = TYPE_VHOST_SCSI_CCW, > + .parent = TYPE_VIRTIO_CCW_DEVICE, > + .instance_size = sizeof(VHostSCSICcw), > + .instance_init = vhost_ccw_scsi_instance_init, > + .class_init = vhost_ccw_scsi_class_init, > +}; > + > +static void virtio_ccw_scsi_register(void) > +{ > + type_register_static(&vhost_ccw_scsi); > +} > + > +type_init(virtio_ccw_scsi_register) > diff --git a/hw/s390x/virtio-ccw-scsi.c b/hw/s390x/virtio-ccw-scsi.c > index 6e4beef700..fa706eb550 100644 > --- a/hw/s390x/virtio-ccw-scsi.c > +++ b/hw/s390x/virtio-ccw-scsi.c > @@ -70,56 +70,9 @@ static const TypeInfo virtio_ccw_scsi = { > .class_init = virtio_ccw_scsi_class_init, > }; > > -#ifdef CONFIG_VHOST_SCSI > - > -static void vhost_ccw_scsi_realize(VirtioCcwDevice *ccw_dev, Error > **errp) > -{ > - VHostSCSICcw *dev = VHOST_SCSI_CCW(ccw_dev); > - DeviceState *vdev = DEVICE(&dev->vdev); > - > - qdev_realize(vdev, BUS(&ccw_dev->bus), errp); > -} > - > -static void vhost_ccw_scsi_instance_init(Object *obj) > -{ > - VHostSCSICcw *dev = VHOST_SCSI_CCW(obj); > - > - virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev), > - TYPE_VHOST_SCSI); > -} > - > -static Property vhost_ccw_scsi_properties[] = { > - DEFINE_PROP_UINT32("max_revision", VirtioCcwDevice, max_rev, > - VIRTIO_CCW_MAX_REV), > - DEFINE_PROP_END_OF_LIST(), > -}; > - > -static void vhost_ccw_scsi_class_init(ObjectClass *klass, void > *data) > -{ > - DeviceClass *dc = DEVICE_CLASS(klass); > - VirtIOCCWDeviceClass *k = VIRTIO_CCW_DEVICE_CLASS(klass); > - > - k->realize = vhost_ccw_scsi_realize; > - device_class_set_props(dc, vhost_ccw_scsi_properties); > - set_bit(DEVICE_CATEGORY_STORAGE, dc->categories); > -} > - > -static const TypeInfo vhost_ccw_scsi = { > - .name = TYPE_VHOST_SCSI_CCW, > - .parent = TYPE_VIRTIO_CCW_DEVICE, > - .instance_size = sizeof(VHostSCSICcw), > - .instance_init = vhost_ccw_scsi_instance_init, > - .class_init = vhost_ccw_scsi_class_init, > -}; > - > -#endif > - > static void virtio_ccw_scsi_register(void) > { > type_register_static(&virtio_ccw_scsi); > -#ifdef CONFIG_VHOST_SCSI > - type_register_static(&vhost_ccw_scsi); > -#endif > } > > type_init(virtio_ccw_scsi_register)