Il 24/08/2013 02:00, Andreas Färber ha scritto: > To be passed to qbus_create_inplace(). > > Use DEVICE() casts instead of direct parent field access. > > Signed-off-by: Andreas Färber <afaer...@suse.de> > --- > hw/scsi/esp-pci.c | 2 +- > hw/scsi/esp.c | 2 +- > hw/scsi/lsi53c895a.c | 2 +- > hw/scsi/megasas.c | 3 ++- > hw/scsi/scsi-bus.c | 4 ++-- > hw/scsi/spapr_vscsi.c | 3 ++- > hw/scsi/virtio-scsi.c | 3 ++- > hw/scsi/vmw_pvscsi.c | 3 ++- > hw/usb/dev-storage.c | 6 ++++-- > hw/usb/dev-uas.c | 3 ++- > include/hw/scsi/scsi.h | 4 ++-- > 11 files changed, 21 insertions(+), 14 deletions(-) > > diff --git a/hw/scsi/esp-pci.c b/hw/scsi/esp-pci.c > index d7ec173..99bf8ec 100644 > --- a/hw/scsi/esp-pci.c > +++ b/hw/scsi/esp-pci.c > @@ -363,7 +363,7 @@ static int esp_pci_scsi_init(PCIDevice *dev) > pci_register_bar(dev, 0, PCI_BASE_ADDRESS_SPACE_IO, &pci->io); > s->irq = dev->irq[0]; > > - scsi_bus_new(&s->bus, d, &esp_pci_scsi_info, NULL); > + scsi_bus_new(&s->bus, sizeof(s->bus), d, &esp_pci_scsi_info, NULL); > if (!d->hotplugged) { > scsi_bus_legacy_handle_cmdline(&s->bus, &err); > if (err != NULL) { > diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c > index 101e957..2d150bf 100644 > --- a/hw/scsi/esp.c > +++ b/hw/scsi/esp.c > @@ -688,7 +688,7 @@ static void sysbus_esp_realize(DeviceState *dev, Error > **errp) > > qdev_init_gpio_in(dev, sysbus_esp_gpio_demux, 2); > > - scsi_bus_new(&s->bus, dev, &esp_scsi_info, NULL); > + scsi_bus_new(&s->bus, sizeof(s->bus), dev, &esp_scsi_info, NULL); > scsi_bus_legacy_handle_cmdline(&s->bus, &err); > if (err != NULL) { > error_propagate(errp, err); > diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c > index 611f2aa..0c36842 100644 > --- a/hw/scsi/lsi53c895a.c > +++ b/hw/scsi/lsi53c895a.c > @@ -2117,7 +2117,7 @@ static int lsi_scsi_init(PCIDevice *dev) > pci_register_bar(dev, 2, PCI_BASE_ADDRESS_SPACE_MEMORY, &s->ram_io); > QTAILQ_INIT(&s->queue); > > - scsi_bus_new(&s->bus, d, &lsi_scsi_info, NULL); > + scsi_bus_new(&s->bus, sizeof(s->bus), d, &lsi_scsi_info, NULL); > if (!d->hotplugged) { > scsi_bus_legacy_handle_cmdline(&s->bus, &err); > if (err != NULL) { > diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c > index a6d5285..09b51b3 100644 > --- a/hw/scsi/megasas.c > +++ b/hw/scsi/megasas.c > @@ -2171,7 +2171,8 @@ static int megasas_scsi_init(PCIDevice *dev) > s->frames[i].state = s; > } > > - scsi_bus_new(&s->bus, DEVICE(dev), &megasas_scsi_info, NULL); > + scsi_bus_new(&s->bus, sizeof(s->bus), DEVICE(dev), > + &megasas_scsi_info, NULL); > if (!d->hotplugged) { > scsi_bus_legacy_handle_cmdline(&s->bus, &err); > if (err != NULL) { > diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c > index fbf9173..968bf23 100644 > --- a/hw/scsi/scsi-bus.c > +++ b/hw/scsi/scsi-bus.c > @@ -72,8 +72,8 @@ static void scsi_device_unit_attention_reported(SCSIDevice > *s) > } > > /* Create a scsi bus, and attach devices to it. */ > -void scsi_bus_new(SCSIBus *bus, DeviceState *host, const SCSIBusInfo *info, > - const char *bus_name) > +void scsi_bus_new(SCSIBus *bus, size_t bus_size, DeviceState *host, > + const SCSIBusInfo *info, const char *bus_name) > { > qbus_create_inplace(&bus->qbus, TYPE_SCSI_BUS, host, bus_name); > bus->busnr = next_scsi_bus++; > diff --git a/hw/scsi/spapr_vscsi.c b/hw/scsi/spapr_vscsi.c > index e9090e5..b2fcd4b 100644 > --- a/hw/scsi/spapr_vscsi.c > +++ b/hw/scsi/spapr_vscsi.c > @@ -1020,7 +1020,8 @@ static int spapr_vscsi_init(VIOsPAPRDevice *dev) > > dev->crq.SendFunc = vscsi_do_crq; > > - scsi_bus_new(&s->bus, &dev->qdev, &vscsi_scsi_info, NULL); > + scsi_bus_new(&s->bus, sizeof(s->bus), DEVICE(dev), > + &vscsi_scsi_info, NULL); > if (!dev->qdev.hotplugged) { > scsi_bus_legacy_handle_cmdline(&s->bus, &err); > if (err != NULL) { > diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c > index 05da56b..3bd690d 100644 > --- a/hw/scsi/virtio-scsi.c > +++ b/hw/scsi/virtio-scsi.c > @@ -627,7 +627,8 @@ static int virtio_scsi_device_init(VirtIODevice *vdev) > return ret; > } > > - scsi_bus_new(&s->bus, qdev, &virtio_scsi_scsi_info, vdev->bus_name); > + scsi_bus_new(&s->bus, sizeof(s->bus), qdev, > + &virtio_scsi_scsi_info, vdev->bus_name); > > if (!qdev->hotplugged) { > scsi_bus_legacy_handle_cmdline(&s->bus, &err); > diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c > index d42b359..819d671 100644 > --- a/hw/scsi/vmw_pvscsi.c > +++ b/hw/scsi/vmw_pvscsi.c > @@ -1088,7 +1088,8 @@ pvscsi_init(PCIDevice *pci_dev) > return -ENOMEM; > } > > - scsi_bus_new(&s->bus, &pci_dev->qdev, &pvscsi_scsi_info, NULL); > + scsi_bus_new(&s->bus, sizeof(s->bus), DEVICE(pci_dev), > + &pvscsi_scsi_info, NULL); > pvscsi_reset_state(s); > > return 0; > diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c > index a8dc2fa..1d81ac2 100644 > --- a/hw/usb/dev-storage.c > +++ b/hw/usb/dev-storage.c > @@ -618,7 +618,8 @@ static int usb_msd_initfn_storage(USBDevice *dev) > > usb_desc_create_serial(dev); > usb_desc_init(dev); > - scsi_bus_new(&s->bus, &s->dev.qdev, &usb_msd_scsi_info_storage, NULL); > + scsi_bus_new(&s->bus, sizeof(s->bus), DEVICE(dev), > + &usb_msd_scsi_info_storage, NULL); > scsi_dev = scsi_bus_legacy_add_drive(&s->bus, bs, 0, !!s->removable, > s->conf.bootindex, dev->serial, > &err); > @@ -646,7 +647,8 @@ static int usb_msd_initfn_bot(USBDevice *dev) > > usb_desc_create_serial(dev); > usb_desc_init(dev); > - scsi_bus_new(&s->bus, &s->dev.qdev, &usb_msd_scsi_info_bot, NULL); > + scsi_bus_new(&s->bus, sizeof(s->bus), DEVICE(dev), > + &usb_msd_scsi_info_bot, NULL); > s->bus.qbus.allow_hotplug = 0; > usb_msd_handle_reset(dev); > > diff --git a/hw/usb/dev-uas.c b/hw/usb/dev-uas.c > index 63ad12e..1569d6e 100644 > --- a/hw/usb/dev-uas.c > +++ b/hw/usb/dev-uas.c > @@ -888,7 +888,8 @@ static int usb_uas_init(USBDevice *dev) > QTAILQ_INIT(&uas->requests); > uas->status_bh = qemu_bh_new(usb_uas_send_status_bh, uas); > > - scsi_bus_new(&uas->bus, &uas->dev.qdev, &usb_uas_scsi_info, NULL); > + scsi_bus_new(&uas->bus, sizeof(uas->bus), DEVICE(dev), > + &usb_uas_scsi_info, NULL); > > return 0; > } > diff --git a/include/hw/scsi/scsi.h b/include/hw/scsi/scsi.h > index 8786531..1b66510 100644 > --- a/include/hw/scsi/scsi.h > +++ b/include/hw/scsi/scsi.h > @@ -152,8 +152,8 @@ struct SCSIBus { > const SCSIBusInfo *info; > }; > > -void scsi_bus_new(SCSIBus *bus, DeviceState *host, const SCSIBusInfo *info, > - const char *bus_name); > +void scsi_bus_new(SCSIBus *bus, size_t bus_size, DeviceState *host, > + const SCSIBusInfo *info, const char *bus_name); > > static inline SCSIBus *scsi_bus_from_device(SCSIDevice *d) > { >
Acked-by: Paolo Bonzini <pbonz...@redhat.com>