Message ID | 1377302436-25193-13-git-send-email-afaerber@suse.de |
---|---|
State | New |
Headers | show |
于 2013-8-24 8:00, Andreas Färber 写道: > To be passed to object_initialize(). > > Since commit 39355c3826f5d9a2eb1ce3dc9b4cdd68893769d6 the argument is > void*, so drop some superfluous (BusState *) casts or direct parent > field usages. > > Signed-off-by: Andreas Färber <afaerber@suse.de> > --- > hw/audio/intel-hda.c | 2 +- > hw/char/ipack.c | 2 +- > hw/char/virtio-serial-bus.c | 4 ++-- > hw/core/qdev.c | 2 +- > hw/core/sysbus.c | 4 ++-- > hw/cpu/icc_bus.c | 3 ++- > hw/ide/qdev.c | 2 +- > hw/misc/macio/cuda.c | 4 ++-- > hw/pci/pci.c | 2 +- > hw/pci/pci_bridge.c | 3 ++- > hw/s390x/event-facility.c | 4 ++-- > hw/s390x/s390-virtio-bus.c | 4 ++-- > hw/s390x/virtio-ccw.c | 4 ++-- > hw/scsi/scsi-bus.c | 2 +- > hw/usb/bus.c | 2 +- > hw/usb/dev-smartcard-reader.c | 3 ++- > hw/virtio/virtio-mmio.c | 2 +- > hw/virtio/virtio-pci.c | 2 +- > include/hw/qdev-core.h | 2 +- > 19 files changed, 28 insertions(+), 25 deletions(-) > > diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c > index 9c2fa88..8800dfe 100644 > --- a/hw/audio/intel-hda.c > +++ b/hw/audio/intel-hda.c > @@ -44,7 +44,7 @@ void hda_codec_bus_init(DeviceState *dev, HDACodecBus *bus, size_t bus_size, > hda_codec_response_func response, > hda_codec_xfer_func xfer) > { > - qbus_create_inplace(&bus->qbus, TYPE_HDA_BUS, dev, NULL); > + qbus_create_inplace(bus, bus_size, TYPE_HDA_BUS, dev, NULL); > bus->response = response; > bus->xfer = xfer; > } > diff --git a/hw/char/ipack.c b/hw/char/ipack.c > index 5fb7073..b7e45be 100644 > --- a/hw/char/ipack.c > +++ b/hw/char/ipack.c > @@ -29,7 +29,7 @@ void ipack_bus_new_inplace(IPackBus *bus, size_t bus_size, > const char *name, uint8_t n_slots, > qemu_irq_handler handler) > { > - qbus_create_inplace(&bus->qbus, TYPE_IPACK_BUS, parent, name); > + qbus_create_inplace(bus, bus_size, TYPE_IPACK_BUS, parent, name); > bus->n_slots = n_slots; > bus->set_irq = handler; > } > diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c > index da417c7..d90fc2a 100644 > --- a/hw/char/virtio-serial-bus.c > +++ b/hw/char/virtio-serial-bus.c > @@ -911,8 +911,8 @@ static int virtio_serial_device_init(VirtIODevice *vdev) > sizeof(struct virtio_console_config)); > > /* Spawn a new virtio-serial bus on which the ports will ride as devices */ > - qbus_create_inplace(&vser->bus.qbus, TYPE_VIRTIO_SERIAL_BUS, qdev, > - vdev->bus_name); > + qbus_create_inplace(&vser->bus, sizeof(vser->bus), TYPE_VIRTIO_SERIAL_BUS, > + qdev, vdev->bus_name); > vser->bus.qbus.allow_hotplug = 1; > vser->bus.vser = vser; > QTAILQ_INIT(&vser->ports); > diff --git a/hw/core/qdev.c b/hw/core/qdev.c > index 758de9f..81874da 100644 > --- a/hw/core/qdev.c > +++ b/hw/core/qdev.c > @@ -470,7 +470,7 @@ static void bus_unparent(Object *obj) > } > } > > -void qbus_create_inplace(void *bus, const char *typename, > +void qbus_create_inplace(void *bus, size_t size, const char *typename, > DeviceState *parent, const char *name) > { > object_initialize(bus, typename); > diff --git a/hw/core/sysbus.c b/hw/core/sysbus.c > index 9004d8c..b84cd4a 100644 > --- a/hw/core/sysbus.c > +++ b/hw/core/sysbus.c > @@ -276,8 +276,8 @@ static void main_system_bus_create(void) > /* assign main_system_bus before qbus_create_inplace() > * in order to make "if (bus != sysbus_get_default())" work */ > main_system_bus = g_malloc0(system_bus_info.instance_size); > - qbus_create_inplace(main_system_bus, TYPE_SYSTEM_BUS, NULL, > - "main-system-bus"); > + qbus_create_inplace(main_system_bus, system_bus_info.instance_size, > + TYPE_SYSTEM_BUS, NULL, "main-system-bus"); > OBJECT(main_system_bus)->free = g_free; > object_property_add_child(container_get(qdev_get_machine(), > "/unattached"), > diff --git a/hw/cpu/icc_bus.c b/hw/cpu/icc_bus.c > index 8748cc5..9a4ea7e 100644 > --- a/hw/cpu/icc_bus.c > +++ b/hw/cpu/icc_bus.c > @@ -90,7 +90,8 @@ static void icc_bridge_init(Object *obj) > ICCBridgeState *s = ICC_BRIGDE(obj); > SysBusDevice *sb = SYS_BUS_DEVICE(obj); > > - qbus_create_inplace(&s->icc_bus, TYPE_ICC_BUS, DEVICE(s), "icc"); > + qbus_create_inplace(&s->icc_bus, sizeof(s->icc_bus), TYPE_ICC_BUS, > + DEVICE(s), "icc"); > > /* Do not change order of registering regions, > * APIC must be first registered region, board maps it by 0 index > diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c > index 8be76ab..18c4b7e 100644 > --- a/hw/ide/qdev.c > +++ b/hw/ide/qdev.c > @@ -50,7 +50,7 @@ static const TypeInfo ide_bus_info = { > void ide_bus_new(IDEBus *idebus, size_t idebus_size, DeviceState *dev, > int bus_id, int max_units) > { > - qbus_create_inplace(&idebus->qbus, TYPE_IDE_BUS, dev, NULL); > + qbus_create_inplace(idebus, idebus_size, TYPE_IDE_BUS, dev, NULL); > idebus->bus_id = bus_id; > idebus->max_units = max_units; > } > diff --git a/hw/misc/macio/cuda.c b/hw/misc/macio/cuda.c > index c0fd7da..8e41459 100644 > --- a/hw/misc/macio/cuda.c > +++ b/hw/misc/macio/cuda.c > @@ -711,8 +711,8 @@ static void cuda_initfn(Object *obj) > s->timers[i].index = i; > } > > - qbus_create_inplace((BusState *)&s->adb_bus, TYPE_ADB_BUS, DEVICE(obj), > - "adb.0"); > + qbus_create_inplace(&s->adb_bus, sizeof(s->adb_bus), TYPE_ADB_BUS, > + DEVICE(obj), "adb.0"); > } > > static void cuda_class_init(ObjectClass *oc, void *data) > diff --git a/hw/pci/pci.c b/hw/pci/pci.c > index 397555c..e688f4a 100644 > --- a/hw/pci/pci.c > +++ b/hw/pci/pci.c > @@ -318,7 +318,7 @@ void pci_bus_new_inplace(PCIBus *bus, size_t bus_size, DeviceState *parent, > MemoryRegion *address_space_io, > uint8_t devfn_min, const char *typename) > { > - qbus_create_inplace(bus, typename, parent, name); > + qbus_create_inplace(bus, bus_size, typename, parent, name); > pci_bus_init(bus, parent, name, address_space_mem, > address_space_io, devfn_min); > } > diff --git a/hw/pci/pci_bridge.c b/hw/pci/pci_bridge.c > index a90671d..e6b22b8 100644 > --- a/hw/pci/pci_bridge.c > +++ b/hw/pci/pci_bridge.c > @@ -367,7 +367,8 @@ int pci_bridge_initfn(PCIDevice *dev, const char *typename) > br->bus_name = dev->qdev.id; > } > > - qbus_create_inplace(&sec_bus->qbus, typename, &dev->qdev, br->bus_name); > + qbus_create_inplace(sec_bus, sizeof(br->sec_bus), typename, DEVICE(dev), wouldn't qbus_create_inplace(sec_bus, sizeof(*sec_bus), typename, DEVICE(dev), looks more straight? > + br->bus_name); > sec_bus->parent_dev = dev; > sec_bus->map_irq = br->map_irq ? br->map_irq : pci_swizzle_map_irq_fn; > sec_bus->address_space_mem = &br->address_space_mem; > diff --git a/hw/s390x/event-facility.c b/hw/s390x/event-facility.c > index 0faade0..a3aceef 100644 > --- a/hw/s390x/event-facility.c > +++ b/hw/s390x/event-facility.c > @@ -324,8 +324,8 @@ static int init_event_facility(S390SCLPDevice *sdev) > sdev->event_pending = event_pending; > > /* Spawn a new sclp-events facility */ > - qbus_create_inplace(&event_facility->sbus.qbus, > - TYPE_SCLP_EVENTS_BUS, (DeviceState *)sdev, NULL); > + qbus_create_inplace(&event_facility->sbus, sizeof(event_facility->sbus), > + TYPE_SCLP_EVENTS_BUS, DEVICE(sdev), NULL); > event_facility->sbus.qbus.allow_hotplug = 0; > event_facility->qdev = (DeviceState *) sdev; > > diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c > index 579adbc..e95b831 100644 > --- a/hw/s390x/s390-virtio-bus.c > +++ b/hw/s390x/s390-virtio-bus.c > @@ -699,8 +699,8 @@ static void virtio_s390_bus_new(VirtioBusState *bus, size_t bus_size, > BusState *qbus; > char virtio_bus_name[] = "virtio-bus"; > > - qbus_create_inplace((BusState *)bus, TYPE_VIRTIO_S390_BUS, qdev, > - virtio_bus_name); > + qbus_create_inplace((BusState *)bus, bus_size, TYPE_VIRTIO_S390_BUS, > + qdev, virtio_bus_name); > qbus = BUS(bus); > qbus->allow_hotplug = 1; > } > diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c > index 36cbf42..cf7075e 100644 > --- a/hw/s390x/virtio-ccw.c > +++ b/hw/s390x/virtio-ccw.c > @@ -1297,8 +1297,8 @@ static void virtio_ccw_bus_new(VirtioBusState *bus, size_t bus_size, > BusState *qbus; > char virtio_bus_name[] = "virtio-bus"; > > - qbus_create_inplace((BusState *)bus, TYPE_VIRTIO_CCW_BUS, qdev, > - virtio_bus_name); > + qbus_create_inplace((BusState *)bus, bus_size, TYPE_VIRTIO_CCW_BUS, > + qdev, virtio_bus_name); > qbus = BUS(bus); > qbus->allow_hotplug = 1; > } > diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c > index 968bf23..5cd6137 100644 > --- a/hw/scsi/scsi-bus.c > +++ b/hw/scsi/scsi-bus.c > @@ -75,7 +75,7 @@ static void scsi_device_unit_attention_reported(SCSIDevice *s) > 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); > + qbus_create_inplace(bus, bus_size, TYPE_SCSI_BUS, host, bus_name); > bus->busnr = next_scsi_bus++; > bus->info = info; > bus->qbus.allow_hotplug = 1; > diff --git a/hw/usb/bus.c b/hw/usb/bus.c > index 6aee262..82ca6a1 100644 > --- a/hw/usb/bus.c > +++ b/hw/usb/bus.c > @@ -70,7 +70,7 @@ const VMStateDescription vmstate_usb_device = { > void usb_bus_new(USBBus *bus, size_t bus_size, > USBBusOps *ops, DeviceState *host) > { > - qbus_create_inplace(&bus->qbus, TYPE_USB_BUS, host, NULL); > + qbus_create_inplace(bus, bus_size, TYPE_USB_BUS, host, NULL); > bus->ops = ops; > bus->busnr = next_usb_bus++; > bus->qbus.allow_hotplug = 1; /* Yes, we can */ > diff --git a/hw/usb/dev-smartcard-reader.c b/hw/usb/dev-smartcard-reader.c > index 2233c54..8c7a61e 100644 > --- a/hw/usb/dev-smartcard-reader.c > +++ b/hw/usb/dev-smartcard-reader.c > @@ -1309,7 +1309,8 @@ static int ccid_initfn(USBDevice *dev) > > usb_desc_create_serial(dev); > usb_desc_init(dev); > - qbus_create_inplace(&s->bus.qbus, TYPE_CCID_BUS, &dev->qdev, NULL); > + qbus_create_inplace(&s->bus, sizeof(s->bus), TYPE_CCID_BUS, DEVICE(dev), > + NULL); > s->intr = usb_ep_get(dev, USB_TOKEN_IN, CCID_INT_IN_EP); > s->bus.qbus.allow_hotplug = 1; > s->card = NULL; > diff --git a/hw/virtio/virtio-mmio.c b/hw/virtio/virtio-mmio.c > index 692979e..29cf284 100644 > --- a/hw/virtio/virtio-mmio.c > +++ b/hw/virtio/virtio-mmio.c > @@ -392,7 +392,7 @@ static void virtio_mmio_bus_new(VirtioBusState *bus, size_t bus_size, > DeviceState *qdev = DEVICE(dev); > BusState *qbus; > > - qbus_create_inplace((BusState *)bus, TYPE_VIRTIO_MMIO_BUS, qdev, NULL); > + qbus_create_inplace(bus, bus_size, TYPE_VIRTIO_MMIO_BUS, qdev, NULL); > qbus = BUS(bus); > qbus->allow_hotplug = 0; > } > diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c > index 313723f..a9a1893 100644 > --- a/hw/virtio/virtio-pci.c > +++ b/hw/virtio/virtio-pci.c > @@ -1512,7 +1512,7 @@ static void virtio_pci_bus_new(VirtioBusState *bus, size_t bus_size, > BusState *qbus; > char virtio_bus_name[] = "virtio-bus"; > > - qbus_create_inplace((BusState *)bus, TYPE_VIRTIO_PCI_BUS, qdev, > + qbus_create_inplace(bus, bus_size, TYPE_VIRTIO_PCI_BUS, qdev, > virtio_bus_name); > qbus = BUS(bus); > qbus->allow_hotplug = 1; > diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h > index 46972f4..a62f231 100644 > --- a/include/hw/qdev-core.h > +++ b/include/hw/qdev-core.h > @@ -264,7 +264,7 @@ DeviceState *qdev_find_recursive(BusState *bus, const char *id); > typedef int (qbus_walkerfn)(BusState *bus, void *opaque); > typedef int (qdev_walkerfn)(DeviceState *dev, void *opaque); > > -void qbus_create_inplace(void *bus, const char *typename, > +void qbus_create_inplace(void *bus, size_t size, const char *typename, > DeviceState *parent, const char *name); > BusState *qbus_create(const char *typename, DeviceState *parent, const char *name); > /* Returns > 0 if either devfn or busfn skip walk somewhere in cursion, >
On Sat, 24 Aug 2013 02:00:32 +0200 Andreas Färber <afaerber@suse.de> wrote: > To be passed to object_initialize(). > > Since commit 39355c3826f5d9a2eb1ce3dc9b4cdd68893769d6 the argument is > void*, so drop some superfluous (BusState *) casts or direct parent > field usages. > > Signed-off-by: Andreas Färber <afaerber@suse.de> > --- > hw/audio/intel-hda.c | 2 +- > hw/char/ipack.c | 2 +- > hw/char/virtio-serial-bus.c | 4 ++-- > hw/core/qdev.c | 2 +- > hw/core/sysbus.c | 4 ++-- > hw/cpu/icc_bus.c | 3 ++- > hw/ide/qdev.c | 2 +- > hw/misc/macio/cuda.c | 4 ++-- > hw/pci/pci.c | 2 +- > hw/pci/pci_bridge.c | 3 ++- > hw/s390x/event-facility.c | 4 ++-- > hw/s390x/s390-virtio-bus.c | 4 ++-- > hw/s390x/virtio-ccw.c | 4 ++-- > hw/scsi/scsi-bus.c | 2 +- > hw/usb/bus.c | 2 +- > hw/usb/dev-smartcard-reader.c | 3 ++- > hw/virtio/virtio-mmio.c | 2 +- > hw/virtio/virtio-pci.c | 2 +- > include/hw/qdev-core.h | 2 +- > 19 files changed, 28 insertions(+), 25 deletions(-) > > diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c > index 579adbc..e95b831 100644 > --- a/hw/s390x/s390-virtio-bus.c > +++ b/hw/s390x/s390-virtio-bus.c > @@ -699,8 +699,8 @@ static void virtio_s390_bus_new(VirtioBusState *bus, size_t bus_size, > BusState *qbus; > char virtio_bus_name[] = "virtio-bus"; > > - qbus_create_inplace((BusState *)bus, TYPE_VIRTIO_S390_BUS, qdev, > - virtio_bus_name); > + qbus_create_inplace((BusState *)bus, bus_size, TYPE_VIRTIO_S390_BUS, > + qdev, virtio_bus_name); > qbus = BUS(bus); > qbus->allow_hotplug = 1; > } > diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c > index 36cbf42..cf7075e 100644 > --- a/hw/s390x/virtio-ccw.c > +++ b/hw/s390x/virtio-ccw.c > @@ -1297,8 +1297,8 @@ static void virtio_ccw_bus_new(VirtioBusState *bus, size_t bus_size, > BusState *qbus; > char virtio_bus_name[] = "virtio-bus"; > > - qbus_create_inplace((BusState *)bus, TYPE_VIRTIO_CCW_BUS, qdev, > - virtio_bus_name); > + qbus_create_inplace((BusState *)bus, bus_size, TYPE_VIRTIO_CCW_BUS, > + qdev, virtio_bus_name); > qbus = BUS(bus); > qbus->allow_hotplug = 1; > } You'll probably want to drop the superflous casts here as well :)
Am 26.08.2013 10:03, schrieb Cornelia Huck: > On Sat, 24 Aug 2013 02:00:32 +0200 > Andreas Färber <afaerber@suse.de> wrote: > >> To be passed to object_initialize(). >> >> Since commit 39355c3826f5d9a2eb1ce3dc9b4cdd68893769d6 the argument is >> void*, so drop some superfluous (BusState *) casts or direct parent >> field usages. >> >> Signed-off-by: Andreas Färber <afaerber@suse.de> >> --- >> hw/audio/intel-hda.c | 2 +- >> hw/char/ipack.c | 2 +- >> hw/char/virtio-serial-bus.c | 4 ++-- >> hw/core/qdev.c | 2 +- >> hw/core/sysbus.c | 4 ++-- >> hw/cpu/icc_bus.c | 3 ++- >> hw/ide/qdev.c | 2 +- >> hw/misc/macio/cuda.c | 4 ++-- >> hw/pci/pci.c | 2 +- >> hw/pci/pci_bridge.c | 3 ++- >> hw/s390x/event-facility.c | 4 ++-- >> hw/s390x/s390-virtio-bus.c | 4 ++-- >> hw/s390x/virtio-ccw.c | 4 ++-- >> hw/scsi/scsi-bus.c | 2 +- >> hw/usb/bus.c | 2 +- >> hw/usb/dev-smartcard-reader.c | 3 ++- >> hw/virtio/virtio-mmio.c | 2 +- >> hw/virtio/virtio-pci.c | 2 +- >> include/hw/qdev-core.h | 2 +- >> 19 files changed, 28 insertions(+), 25 deletions(-) >> > >> diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c >> index 579adbc..e95b831 100644 >> --- a/hw/s390x/s390-virtio-bus.c >> +++ b/hw/s390x/s390-virtio-bus.c >> @@ -699,8 +699,8 @@ static void virtio_s390_bus_new(VirtioBusState *bus, size_t bus_size, >> BusState *qbus; >> char virtio_bus_name[] = "virtio-bus"; >> >> - qbus_create_inplace((BusState *)bus, TYPE_VIRTIO_S390_BUS, qdev, >> - virtio_bus_name); >> + qbus_create_inplace((BusState *)bus, bus_size, TYPE_VIRTIO_S390_BUS, >> + qdev, virtio_bus_name); >> qbus = BUS(bus); >> qbus->allow_hotplug = 1; >> } >> diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c >> index 36cbf42..cf7075e 100644 >> --- a/hw/s390x/virtio-ccw.c >> +++ b/hw/s390x/virtio-ccw.c >> @@ -1297,8 +1297,8 @@ static void virtio_ccw_bus_new(VirtioBusState *bus, size_t bus_size, >> BusState *qbus; >> char virtio_bus_name[] = "virtio-bus"; >> >> - qbus_create_inplace((BusState *)bus, TYPE_VIRTIO_CCW_BUS, qdev, >> - virtio_bus_name); >> + qbus_create_inplace((BusState *)bus, bus_size, TYPE_VIRTIO_CCW_BUS, >> + qdev, virtio_bus_name); >> qbus = BUS(bus); >> qbus->allow_hotplug = 1; >> } > > You'll probably want to drop the superflous casts here as well :) Fixed, thanks! Andreas
Am 26.08.2013 09:44, schrieb Wenchao Xia: > 于 2013-8-24 8:00, Andreas Färber 写道: >> To be passed to object_initialize(). >> >> Since commit 39355c3826f5d9a2eb1ce3dc9b4cdd68893769d6 the argument is >> void*, so drop some superfluous (BusState *) casts or direct parent >> field usages. >> >> Signed-off-by: Andreas Färber <afaerber@suse.de> >> --- >> hw/audio/intel-hda.c | 2 +- >> hw/char/ipack.c | 2 +- >> hw/char/virtio-serial-bus.c | 4 ++-- >> hw/core/qdev.c | 2 +- >> hw/core/sysbus.c | 4 ++-- >> hw/cpu/icc_bus.c | 3 ++- >> hw/ide/qdev.c | 2 +- >> hw/misc/macio/cuda.c | 4 ++-- >> hw/pci/pci.c | 2 +- >> hw/pci/pci_bridge.c | 3 ++- >> hw/s390x/event-facility.c | 4 ++-- >> hw/s390x/s390-virtio-bus.c | 4 ++-- >> hw/s390x/virtio-ccw.c | 4 ++-- >> hw/scsi/scsi-bus.c | 2 +- >> hw/usb/bus.c | 2 +- >> hw/usb/dev-smartcard-reader.c | 3 ++- >> hw/virtio/virtio-mmio.c | 2 +- >> hw/virtio/virtio-pci.c | 2 +- >> include/hw/qdev-core.h | 2 +- >> 19 files changed, 28 insertions(+), 25 deletions(-) >> >> diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c >> index 9c2fa88..8800dfe 100644 >> --- a/hw/audio/intel-hda.c >> +++ b/hw/audio/intel-hda.c >> @@ -44,7 +44,7 @@ void hda_codec_bus_init(DeviceState *dev, >> HDACodecBus *bus, size_t bus_size, >> hda_codec_response_func response, >> hda_codec_xfer_func xfer) >> { >> - qbus_create_inplace(&bus->qbus, TYPE_HDA_BUS, dev, NULL); >> + qbus_create_inplace(bus, bus_size, TYPE_HDA_BUS, dev, NULL); >> bus->response = response; >> bus->xfer = xfer; >> } >> diff --git a/hw/char/ipack.c b/hw/char/ipack.c >> index 5fb7073..b7e45be 100644 >> --- a/hw/char/ipack.c >> +++ b/hw/char/ipack.c >> @@ -29,7 +29,7 @@ void ipack_bus_new_inplace(IPackBus *bus, size_t >> bus_size, >> const char *name, uint8_t n_slots, >> qemu_irq_handler handler) >> { >> - qbus_create_inplace(&bus->qbus, TYPE_IPACK_BUS, parent, name); >> + qbus_create_inplace(bus, bus_size, TYPE_IPACK_BUS, parent, name); >> bus->n_slots = n_slots; >> bus->set_irq = handler; >> } >> diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c >> index da417c7..d90fc2a 100644 >> --- a/hw/char/virtio-serial-bus.c >> +++ b/hw/char/virtio-serial-bus.c >> @@ -911,8 +911,8 @@ static int virtio_serial_device_init(VirtIODevice >> *vdev) >> sizeof(struct virtio_console_config)); >> >> /* Spawn a new virtio-serial bus on which the ports will ride as >> devices */ >> - qbus_create_inplace(&vser->bus.qbus, TYPE_VIRTIO_SERIAL_BUS, qdev, >> - vdev->bus_name); >> + qbus_create_inplace(&vser->bus, sizeof(vser->bus), >> TYPE_VIRTIO_SERIAL_BUS, >> + qdev, vdev->bus_name); >> vser->bus.qbus.allow_hotplug = 1; >> vser->bus.vser = vser; >> QTAILQ_INIT(&vser->ports); >> diff --git a/hw/core/qdev.c b/hw/core/qdev.c >> index 758de9f..81874da 100644 >> --- a/hw/core/qdev.c >> +++ b/hw/core/qdev.c >> @@ -470,7 +470,7 @@ static void bus_unparent(Object *obj) >> } >> } >> >> -void qbus_create_inplace(void *bus, const char *typename, >> +void qbus_create_inplace(void *bus, size_t size, const char *typename, >> DeviceState *parent, const char *name) >> { >> object_initialize(bus, typename); >> diff --git a/hw/core/sysbus.c b/hw/core/sysbus.c >> index 9004d8c..b84cd4a 100644 >> --- a/hw/core/sysbus.c >> +++ b/hw/core/sysbus.c >> @@ -276,8 +276,8 @@ static void main_system_bus_create(void) >> /* assign main_system_bus before qbus_create_inplace() >> * in order to make "if (bus != sysbus_get_default())" work */ >> main_system_bus = g_malloc0(system_bus_info.instance_size); >> - qbus_create_inplace(main_system_bus, TYPE_SYSTEM_BUS, NULL, >> - "main-system-bus"); >> + qbus_create_inplace(main_system_bus, system_bus_info.instance_size, >> + TYPE_SYSTEM_BUS, NULL, "main-system-bus"); >> OBJECT(main_system_bus)->free = g_free; >> object_property_add_child(container_get(qdev_get_machine(), >> "/unattached"), >> diff --git a/hw/cpu/icc_bus.c b/hw/cpu/icc_bus.c >> index 8748cc5..9a4ea7e 100644 >> --- a/hw/cpu/icc_bus.c >> +++ b/hw/cpu/icc_bus.c >> @@ -90,7 +90,8 @@ static void icc_bridge_init(Object *obj) >> ICCBridgeState *s = ICC_BRIGDE(obj); >> SysBusDevice *sb = SYS_BUS_DEVICE(obj); >> >> - qbus_create_inplace(&s->icc_bus, TYPE_ICC_BUS, DEVICE(s), "icc"); >> + qbus_create_inplace(&s->icc_bus, sizeof(s->icc_bus), TYPE_ICC_BUS, >> + DEVICE(s), "icc"); >> >> /* Do not change order of registering regions, >> * APIC must be first registered region, board maps it by 0 index >> diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c >> index 8be76ab..18c4b7e 100644 >> --- a/hw/ide/qdev.c >> +++ b/hw/ide/qdev.c >> @@ -50,7 +50,7 @@ static const TypeInfo ide_bus_info = { >> void ide_bus_new(IDEBus *idebus, size_t idebus_size, DeviceState *dev, >> int bus_id, int max_units) >> { >> - qbus_create_inplace(&idebus->qbus, TYPE_IDE_BUS, dev, NULL); >> + qbus_create_inplace(idebus, idebus_size, TYPE_IDE_BUS, dev, NULL); >> idebus->bus_id = bus_id; >> idebus->max_units = max_units; >> } >> diff --git a/hw/misc/macio/cuda.c b/hw/misc/macio/cuda.c >> index c0fd7da..8e41459 100644 >> --- a/hw/misc/macio/cuda.c >> +++ b/hw/misc/macio/cuda.c >> @@ -711,8 +711,8 @@ static void cuda_initfn(Object *obj) >> s->timers[i].index = i; >> } >> >> - qbus_create_inplace((BusState *)&s->adb_bus, TYPE_ADB_BUS, >> DEVICE(obj), >> - "adb.0"); >> + qbus_create_inplace(&s->adb_bus, sizeof(s->adb_bus), TYPE_ADB_BUS, >> + DEVICE(obj), "adb.0"); >> } >> >> static void cuda_class_init(ObjectClass *oc, void *data) >> diff --git a/hw/pci/pci.c b/hw/pci/pci.c >> index 397555c..e688f4a 100644 >> --- a/hw/pci/pci.c >> +++ b/hw/pci/pci.c >> @@ -318,7 +318,7 @@ void pci_bus_new_inplace(PCIBus *bus, size_t >> bus_size, DeviceState *parent, >> MemoryRegion *address_space_io, >> uint8_t devfn_min, const char *typename) >> { >> - qbus_create_inplace(bus, typename, parent, name); >> + qbus_create_inplace(bus, bus_size, typename, parent, name); >> pci_bus_init(bus, parent, name, address_space_mem, >> address_space_io, devfn_min); >> } >> diff --git a/hw/pci/pci_bridge.c b/hw/pci/pci_bridge.c >> index a90671d..e6b22b8 100644 >> --- a/hw/pci/pci_bridge.c >> +++ b/hw/pci/pci_bridge.c >> @@ -367,7 +367,8 @@ int pci_bridge_initfn(PCIDevice *dev, const char >> *typename) >> br->bus_name = dev->qdev.id; >> } >> >> - qbus_create_inplace(&sec_bus->qbus, typename, &dev->qdev, >> br->bus_name); >> + qbus_create_inplace(sec_bus, sizeof(br->sec_bus), typename, >> DEVICE(dev), > > wouldn't > qbus_create_inplace(sec_bus, sizeof(*sec_bus), typename, DEVICE(dev), > looks more straight? That would defeat part of the purpose. sec_bus is a local variable of type PCIBus*, to which the actual pointer &br->sec_bus is assigned. Should that one grow larger, sec_bus can still be used but we don't want it to assert. Regards, Andreas > >> + br->bus_name); >> sec_bus->parent_dev = dev; >> sec_bus->map_irq = br->map_irq ? br->map_irq : >> pci_swizzle_map_irq_fn; >> sec_bus->address_space_mem = &br->address_space_mem; [snip]
diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c index 9c2fa88..8800dfe 100644 --- a/hw/audio/intel-hda.c +++ b/hw/audio/intel-hda.c @@ -44,7 +44,7 @@ void hda_codec_bus_init(DeviceState *dev, HDACodecBus *bus, size_t bus_size, hda_codec_response_func response, hda_codec_xfer_func xfer) { - qbus_create_inplace(&bus->qbus, TYPE_HDA_BUS, dev, NULL); + qbus_create_inplace(bus, bus_size, TYPE_HDA_BUS, dev, NULL); bus->response = response; bus->xfer = xfer; } diff --git a/hw/char/ipack.c b/hw/char/ipack.c index 5fb7073..b7e45be 100644 --- a/hw/char/ipack.c +++ b/hw/char/ipack.c @@ -29,7 +29,7 @@ void ipack_bus_new_inplace(IPackBus *bus, size_t bus_size, const char *name, uint8_t n_slots, qemu_irq_handler handler) { - qbus_create_inplace(&bus->qbus, TYPE_IPACK_BUS, parent, name); + qbus_create_inplace(bus, bus_size, TYPE_IPACK_BUS, parent, name); bus->n_slots = n_slots; bus->set_irq = handler; } diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c index da417c7..d90fc2a 100644 --- a/hw/char/virtio-serial-bus.c +++ b/hw/char/virtio-serial-bus.c @@ -911,8 +911,8 @@ static int virtio_serial_device_init(VirtIODevice *vdev) sizeof(struct virtio_console_config)); /* Spawn a new virtio-serial bus on which the ports will ride as devices */ - qbus_create_inplace(&vser->bus.qbus, TYPE_VIRTIO_SERIAL_BUS, qdev, - vdev->bus_name); + qbus_create_inplace(&vser->bus, sizeof(vser->bus), TYPE_VIRTIO_SERIAL_BUS, + qdev, vdev->bus_name); vser->bus.qbus.allow_hotplug = 1; vser->bus.vser = vser; QTAILQ_INIT(&vser->ports); diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 758de9f..81874da 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -470,7 +470,7 @@ static void bus_unparent(Object *obj) } } -void qbus_create_inplace(void *bus, const char *typename, +void qbus_create_inplace(void *bus, size_t size, const char *typename, DeviceState *parent, const char *name) { object_initialize(bus, typename); diff --git a/hw/core/sysbus.c b/hw/core/sysbus.c index 9004d8c..b84cd4a 100644 --- a/hw/core/sysbus.c +++ b/hw/core/sysbus.c @@ -276,8 +276,8 @@ static void main_system_bus_create(void) /* assign main_system_bus before qbus_create_inplace() * in order to make "if (bus != sysbus_get_default())" work */ main_system_bus = g_malloc0(system_bus_info.instance_size); - qbus_create_inplace(main_system_bus, TYPE_SYSTEM_BUS, NULL, - "main-system-bus"); + qbus_create_inplace(main_system_bus, system_bus_info.instance_size, + TYPE_SYSTEM_BUS, NULL, "main-system-bus"); OBJECT(main_system_bus)->free = g_free; object_property_add_child(container_get(qdev_get_machine(), "/unattached"), diff --git a/hw/cpu/icc_bus.c b/hw/cpu/icc_bus.c index 8748cc5..9a4ea7e 100644 --- a/hw/cpu/icc_bus.c +++ b/hw/cpu/icc_bus.c @@ -90,7 +90,8 @@ static void icc_bridge_init(Object *obj) ICCBridgeState *s = ICC_BRIGDE(obj); SysBusDevice *sb = SYS_BUS_DEVICE(obj); - qbus_create_inplace(&s->icc_bus, TYPE_ICC_BUS, DEVICE(s), "icc"); + qbus_create_inplace(&s->icc_bus, sizeof(s->icc_bus), TYPE_ICC_BUS, + DEVICE(s), "icc"); /* Do not change order of registering regions, * APIC must be first registered region, board maps it by 0 index diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c index 8be76ab..18c4b7e 100644 --- a/hw/ide/qdev.c +++ b/hw/ide/qdev.c @@ -50,7 +50,7 @@ static const TypeInfo ide_bus_info = { void ide_bus_new(IDEBus *idebus, size_t idebus_size, DeviceState *dev, int bus_id, int max_units) { - qbus_create_inplace(&idebus->qbus, TYPE_IDE_BUS, dev, NULL); + qbus_create_inplace(idebus, idebus_size, TYPE_IDE_BUS, dev, NULL); idebus->bus_id = bus_id; idebus->max_units = max_units; } diff --git a/hw/misc/macio/cuda.c b/hw/misc/macio/cuda.c index c0fd7da..8e41459 100644 --- a/hw/misc/macio/cuda.c +++ b/hw/misc/macio/cuda.c @@ -711,8 +711,8 @@ static void cuda_initfn(Object *obj) s->timers[i].index = i; } - qbus_create_inplace((BusState *)&s->adb_bus, TYPE_ADB_BUS, DEVICE(obj), - "adb.0"); + qbus_create_inplace(&s->adb_bus, sizeof(s->adb_bus), TYPE_ADB_BUS, + DEVICE(obj), "adb.0"); } static void cuda_class_init(ObjectClass *oc, void *data) diff --git a/hw/pci/pci.c b/hw/pci/pci.c index 397555c..e688f4a 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -318,7 +318,7 @@ void pci_bus_new_inplace(PCIBus *bus, size_t bus_size, DeviceState *parent, MemoryRegion *address_space_io, uint8_t devfn_min, const char *typename) { - qbus_create_inplace(bus, typename, parent, name); + qbus_create_inplace(bus, bus_size, typename, parent, name); pci_bus_init(bus, parent, name, address_space_mem, address_space_io, devfn_min); } diff --git a/hw/pci/pci_bridge.c b/hw/pci/pci_bridge.c index a90671d..e6b22b8 100644 --- a/hw/pci/pci_bridge.c +++ b/hw/pci/pci_bridge.c @@ -367,7 +367,8 @@ int pci_bridge_initfn(PCIDevice *dev, const char *typename) br->bus_name = dev->qdev.id; } - qbus_create_inplace(&sec_bus->qbus, typename, &dev->qdev, br->bus_name); + qbus_create_inplace(sec_bus, sizeof(br->sec_bus), typename, DEVICE(dev), + br->bus_name); sec_bus->parent_dev = dev; sec_bus->map_irq = br->map_irq ? br->map_irq : pci_swizzle_map_irq_fn; sec_bus->address_space_mem = &br->address_space_mem; diff --git a/hw/s390x/event-facility.c b/hw/s390x/event-facility.c index 0faade0..a3aceef 100644 --- a/hw/s390x/event-facility.c +++ b/hw/s390x/event-facility.c @@ -324,8 +324,8 @@ static int init_event_facility(S390SCLPDevice *sdev) sdev->event_pending = event_pending; /* Spawn a new sclp-events facility */ - qbus_create_inplace(&event_facility->sbus.qbus, - TYPE_SCLP_EVENTS_BUS, (DeviceState *)sdev, NULL); + qbus_create_inplace(&event_facility->sbus, sizeof(event_facility->sbus), + TYPE_SCLP_EVENTS_BUS, DEVICE(sdev), NULL); event_facility->sbus.qbus.allow_hotplug = 0; event_facility->qdev = (DeviceState *) sdev; diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c index 579adbc..e95b831 100644 --- a/hw/s390x/s390-virtio-bus.c +++ b/hw/s390x/s390-virtio-bus.c @@ -699,8 +699,8 @@ static void virtio_s390_bus_new(VirtioBusState *bus, size_t bus_size, BusState *qbus; char virtio_bus_name[] = "virtio-bus"; - qbus_create_inplace((BusState *)bus, TYPE_VIRTIO_S390_BUS, qdev, - virtio_bus_name); + qbus_create_inplace((BusState *)bus, bus_size, TYPE_VIRTIO_S390_BUS, + qdev, virtio_bus_name); qbus = BUS(bus); qbus->allow_hotplug = 1; } diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c index 36cbf42..cf7075e 100644 --- a/hw/s390x/virtio-ccw.c +++ b/hw/s390x/virtio-ccw.c @@ -1297,8 +1297,8 @@ static void virtio_ccw_bus_new(VirtioBusState *bus, size_t bus_size, BusState *qbus; char virtio_bus_name[] = "virtio-bus"; - qbus_create_inplace((BusState *)bus, TYPE_VIRTIO_CCW_BUS, qdev, - virtio_bus_name); + qbus_create_inplace((BusState *)bus, bus_size, TYPE_VIRTIO_CCW_BUS, + qdev, virtio_bus_name); qbus = BUS(bus); qbus->allow_hotplug = 1; } diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c index 968bf23..5cd6137 100644 --- a/hw/scsi/scsi-bus.c +++ b/hw/scsi/scsi-bus.c @@ -75,7 +75,7 @@ static void scsi_device_unit_attention_reported(SCSIDevice *s) 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); + qbus_create_inplace(bus, bus_size, TYPE_SCSI_BUS, host, bus_name); bus->busnr = next_scsi_bus++; bus->info = info; bus->qbus.allow_hotplug = 1; diff --git a/hw/usb/bus.c b/hw/usb/bus.c index 6aee262..82ca6a1 100644 --- a/hw/usb/bus.c +++ b/hw/usb/bus.c @@ -70,7 +70,7 @@ const VMStateDescription vmstate_usb_device = { void usb_bus_new(USBBus *bus, size_t bus_size, USBBusOps *ops, DeviceState *host) { - qbus_create_inplace(&bus->qbus, TYPE_USB_BUS, host, NULL); + qbus_create_inplace(bus, bus_size, TYPE_USB_BUS, host, NULL); bus->ops = ops; bus->busnr = next_usb_bus++; bus->qbus.allow_hotplug = 1; /* Yes, we can */ diff --git a/hw/usb/dev-smartcard-reader.c b/hw/usb/dev-smartcard-reader.c index 2233c54..8c7a61e 100644 --- a/hw/usb/dev-smartcard-reader.c +++ b/hw/usb/dev-smartcard-reader.c @@ -1309,7 +1309,8 @@ static int ccid_initfn(USBDevice *dev) usb_desc_create_serial(dev); usb_desc_init(dev); - qbus_create_inplace(&s->bus.qbus, TYPE_CCID_BUS, &dev->qdev, NULL); + qbus_create_inplace(&s->bus, sizeof(s->bus), TYPE_CCID_BUS, DEVICE(dev), + NULL); s->intr = usb_ep_get(dev, USB_TOKEN_IN, CCID_INT_IN_EP); s->bus.qbus.allow_hotplug = 1; s->card = NULL; diff --git a/hw/virtio/virtio-mmio.c b/hw/virtio/virtio-mmio.c index 692979e..29cf284 100644 --- a/hw/virtio/virtio-mmio.c +++ b/hw/virtio/virtio-mmio.c @@ -392,7 +392,7 @@ static void virtio_mmio_bus_new(VirtioBusState *bus, size_t bus_size, DeviceState *qdev = DEVICE(dev); BusState *qbus; - qbus_create_inplace((BusState *)bus, TYPE_VIRTIO_MMIO_BUS, qdev, NULL); + qbus_create_inplace(bus, bus_size, TYPE_VIRTIO_MMIO_BUS, qdev, NULL); qbus = BUS(bus); qbus->allow_hotplug = 0; } diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c index 313723f..a9a1893 100644 --- a/hw/virtio/virtio-pci.c +++ b/hw/virtio/virtio-pci.c @@ -1512,7 +1512,7 @@ static void virtio_pci_bus_new(VirtioBusState *bus, size_t bus_size, BusState *qbus; char virtio_bus_name[] = "virtio-bus"; - qbus_create_inplace((BusState *)bus, TYPE_VIRTIO_PCI_BUS, qdev, + qbus_create_inplace(bus, bus_size, TYPE_VIRTIO_PCI_BUS, qdev, virtio_bus_name); qbus = BUS(bus); qbus->allow_hotplug = 1; diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h index 46972f4..a62f231 100644 --- a/include/hw/qdev-core.h +++ b/include/hw/qdev-core.h @@ -264,7 +264,7 @@ DeviceState *qdev_find_recursive(BusState *bus, const char *id); typedef int (qbus_walkerfn)(BusState *bus, void *opaque); typedef int (qdev_walkerfn)(DeviceState *dev, void *opaque); -void qbus_create_inplace(void *bus, const char *typename, +void qbus_create_inplace(void *bus, size_t size, const char *typename, DeviceState *parent, const char *name); BusState *qbus_create(const char *typename, DeviceState *parent, const char *name); /* Returns > 0 if either devfn or busfn skip walk somewhere in cursion,
To be passed to object_initialize(). Since commit 39355c3826f5d9a2eb1ce3dc9b4cdd68893769d6 the argument is void*, so drop some superfluous (BusState *) casts or direct parent field usages. Signed-off-by: Andreas Färber <afaerber@suse.de> --- hw/audio/intel-hda.c | 2 +- hw/char/ipack.c | 2 +- hw/char/virtio-serial-bus.c | 4 ++-- hw/core/qdev.c | 2 +- hw/core/sysbus.c | 4 ++-- hw/cpu/icc_bus.c | 3 ++- hw/ide/qdev.c | 2 +- hw/misc/macio/cuda.c | 4 ++-- hw/pci/pci.c | 2 +- hw/pci/pci_bridge.c | 3 ++- hw/s390x/event-facility.c | 4 ++-- hw/s390x/s390-virtio-bus.c | 4 ++-- hw/s390x/virtio-ccw.c | 4 ++-- hw/scsi/scsi-bus.c | 2 +- hw/usb/bus.c | 2 +- hw/usb/dev-smartcard-reader.c | 3 ++- hw/virtio/virtio-mmio.c | 2 +- hw/virtio/virtio-pci.c | 2 +- include/hw/qdev-core.h | 2 +- 19 files changed, 28 insertions(+), 25 deletions(-)