From: Wenchao Xia <xiawenc@linux.vnet.ibm.com>
To: "Andreas Färber" <afaerber@suse.de>
Cc: Kevin Wolf <kwolf@redhat.com>,
peter.maydell@linaro.org, "Michael S. Tsirkin" <mst@redhat.com>,
Alexander Graf <agraf@suse.de>,
qemu-devel@nongnu.org, Amit Shah <amit.shah@redhat.com>,
Igor Mammedov <imammedo@redhat.com>,
New World <qemu-ppc@nongnu.org>,
Gerd Hoffmann <kraxel@redhat.com>,
anthony@codemonkey.ws, Paolo Bonzini <pbonzini@redhat.com>,
Cornelia Huck <cornelia.huck@de.ibm.com>,
"Vassili Karpov (malc)" <av1474@comtv.ru>,
Richard Henderson <rth@twiddle.net>
Subject: Re: [Qemu-devel] [PATCH 12/16] qdev: Pass size to qbus_create_inplace()
Date: Mon, 26 Aug 2013 15:44:55 +0800 [thread overview]
Message-ID: <521B0777.70801@linux.vnet.ibm.com> (raw)
In-Reply-To: <1377302436-25193-13-git-send-email-afaerber@suse.de>
于 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,
>
--
Best Regards
Wenchao Xia
next prev parent reply other threads:[~2013-08-26 7:46 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-24 0:00 [Qemu-devel] [PATCH 00/16] qom: Assert sufficient object instance size Andreas Färber
2013-08-24 0:00 ` [Qemu-devel] [PATCH 01/16] qom: Fix object_initialize_with_type() argument name in documentation Andreas Färber
2013-08-24 0:00 ` [Qemu-devel] [PATCH 02/16] intel-hda: Pass size to hda_codec_bus_init() Andreas Färber
2013-08-24 0:00 ` [Qemu-devel] [PATCH 03/16] ipack: Pass size to ipack_bus_new_inplace() Andreas Färber
2013-08-26 7:23 ` Wenchao Xia
2013-08-24 0:00 ` [Qemu-devel] [PATCH 04/16] ide: Pass size to ide_bus_new() Andreas Färber
2013-08-24 0:00 ` [Qemu-devel] [PATCH 05/16] pci: Pass size to pci_bus_new_inplace() Andreas Färber
2013-08-24 0:00 ` [Qemu-devel] [PATCH 06/16] scsi: Pass size to scsi_bus_new() Andreas Färber
2013-08-26 8:01 ` Paolo Bonzini
2013-08-24 0:00 ` [Qemu-devel] [PATCH 07/16] usb: Pass size to usb_bus_new() Andreas Färber
2013-08-24 0:00 ` [Qemu-devel] [PATCH 08/16] virtio-pci: Pass size to virtio_pci_bus_new() Andreas Färber
2013-08-24 0:00 ` [Qemu-devel] [PATCH 09/16] s390-virtio-bus: Pass size to virtio_s390_bus_new() Andreas Färber
2013-08-24 0:00 ` [Qemu-devel] [PATCH 10/16] virtio-ccw: Pass size to virtio_ccw_bus_new() Andreas Färber
2013-08-26 8:00 ` Cornelia Huck
2013-08-24 0:00 ` [Qemu-devel] [PATCH 11/16] virtio-mmio: Pass size to virtio_mmio_bus_new() Andreas Färber
2013-08-24 0:00 ` [Qemu-devel] [PATCH 12/16] qdev: Pass size to qbus_create_inplace() Andreas Färber
2013-08-26 7:44 ` Wenchao Xia [this message]
2013-08-30 17:12 ` Andreas Färber
2013-08-26 8:03 ` Cornelia Huck
2013-08-30 17:05 ` Andreas Färber
2013-08-24 0:00 ` [Qemu-devel] [PATCH 13/16] qom: Pass available size to object_initialize() Andreas Färber
2013-08-26 8:09 ` Cornelia Huck
2013-08-26 8:11 ` Wenchao Xia
2013-08-30 17:14 ` Andreas Färber
2013-08-24 0:00 ` [Qemu-devel] [PATCH 14/16] qom: Introduce type_get_instance_size() Andreas Färber
2013-08-24 0:00 ` [Qemu-devel] [PATCH 15/16] qdev-monitor: Clean up qdev_device_add() variable naming Andreas Färber
2013-08-26 7:52 ` Wenchao Xia
2013-08-30 17:19 ` Andreas Färber
2013-09-12 14:40 ` Andreas Färber
2013-08-24 0:00 ` [Qemu-devel] [PATCH 16/16] qdev-monitor: Avoid aborting on out-of-memory in qdev_device_add() Andreas Färber
2013-08-26 8:12 ` [Qemu-devel] [PATCH 00/16] qom: Assert sufficient object instance size Wenchao Xia
2013-08-30 19:37 ` Andreas Färber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=521B0777.70801@linux.vnet.ibm.com \
--to=xiawenc@linux.vnet.ibm.com \
--cc=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=amit.shah@redhat.com \
--cc=anthony@codemonkey.ws \
--cc=av1474@comtv.ru \
--cc=cornelia.huck@de.ibm.com \
--cc=imammedo@redhat.com \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=rth@twiddle.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.