* [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize()
@ 2015-02-27 13:55 Markus Armbruster
2015-02-27 13:55 ` [Qemu-devel] [PATCH 1/2] virtio-s390: s390_virtio_device_init() can't fail, simplify Markus Armbruster
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Markus Armbruster @ 2015-02-27 13:55 UTC (permalink / raw)
To: qemu-devel; +Cc: agraf, mst
Markus Armbruster (2):
virtio-s390: s390_virtio_device_init() can't fail, simplify
virtio-s390: Convert to realize()
hw/s390x/s390-virtio-bus.c | 97 ++++++++++++++++++++++++++--------------------
hw/s390x/s390-virtio-bus.h | 2 +-
2 files changed, 56 insertions(+), 43 deletions(-)
--
1.9.3
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH 1/2] virtio-s390: s390_virtio_device_init() can't fail, simplify
2015-02-27 13:55 [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize() Markus Armbruster
@ 2015-02-27 13:55 ` Markus Armbruster
2015-02-27 13:55 ` [Qemu-devel] [PATCH 2/2] virtio-s390: Convert to realize() Markus Armbruster
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Markus Armbruster @ 2015-02-27 13:55 UTC (permalink / raw)
To: qemu-devel; +Cc: agraf, mst
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
hw/s390x/s390-virtio-bus.c | 29 +++++++++++++++--------------
1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c
index 39dc201..f69ff11 100644
--- a/hw/s390x/s390-virtio-bus.c
+++ b/hw/s390x/s390-virtio-bus.c
@@ -111,7 +111,8 @@ VirtIOS390Bus *s390_virtio_bus_init(ram_addr_t *ram_size)
return bus;
}
-static int s390_virtio_device_init(VirtIOS390Device *dev, VirtIODevice *vdev)
+static void s390_virtio_device_init(VirtIOS390Device *dev,
+ VirtIODevice *vdev)
{
VirtIOS390Bus *bus;
int dev_len;
@@ -135,8 +136,6 @@ static int s390_virtio_device_init(VirtIOS390Device *dev, VirtIODevice *vdev)
if (dev->qdev.hotplugged) {
s390_virtio_irq(VIRTIO_PARAM_DEV_ADD, dev->dev_offs);
}
-
- return 0;
}
static int s390_virtio_net_init(VirtIOS390Device *s390_dev)
@@ -153,7 +152,8 @@ static int s390_virtio_net_init(VirtIOS390Device *s390_dev)
return -1;
}
- return s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+ s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+ return 0;
}
static void s390_virtio_net_instance_init(Object *obj)
@@ -174,7 +174,8 @@ static int s390_virtio_blk_init(VirtIOS390Device *s390_dev)
if (qdev_init(vdev) < 0) {
return -1;
}
- return s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+ s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+ return 0;
}
static void s390_virtio_blk_instance_init(Object *obj)
@@ -215,12 +216,9 @@ static int s390_virtio_serial_init(VirtIOS390Device *s390_dev)
return -1;
}
- r = s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
- if (!r) {
- bus->console = s390_dev;
- }
-
- return r;
+ s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+ bus->console = s390_dev;
+ return 0;
}
static void s390_virtio_serial_instance_init(Object *obj)
@@ -253,7 +251,8 @@ static int s390_virtio_scsi_init(VirtIOS390Device *s390_dev)
return -1;
}
- return s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+ s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+ return 0;
}
static void s390_virtio_scsi_instance_init(Object *obj)
@@ -275,7 +274,8 @@ static int s390_vhost_scsi_init(VirtIOS390Device *s390_dev)
return -1;
}
- return s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+ s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+ return 0;
}
static void s390_vhost_scsi_instance_init(Object *obj)
@@ -302,7 +302,8 @@ static int s390_virtio_rng_init(VirtIOS390Device *s390_dev)
OBJECT(dev->vdev.conf.rng), "rng",
NULL);
- return s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+ s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+ return 0;
}
static void s390_virtio_rng_instance_init(Object *obj)
--
1.9.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH 2/2] virtio-s390: Convert to realize()
2015-02-27 13:55 [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize() Markus Armbruster
2015-02-27 13:55 ` [Qemu-devel] [PATCH 1/2] virtio-s390: s390_virtio_device_init() can't fail, simplify Markus Armbruster
@ 2015-02-27 13:55 ` Markus Armbruster
2015-03-01 15:30 ` [Qemu-devel] [PATCH 0/2] " Michael S. Tsirkin
2015-03-02 8:04 ` Christian Borntraeger
3 siblings, 0 replies; 7+ messages in thread
From: Markus Armbruster @ 2015-02-27 13:55 UTC (permalink / raw)
To: qemu-devel; +Cc: agraf, mst
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
hw/s390x/s390-virtio-bus.c | 80 ++++++++++++++++++++++++++--------------------
hw/s390x/s390-virtio-bus.h | 2 +-
2 files changed, 47 insertions(+), 35 deletions(-)
diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c
index f69ff11..55a5581 100644
--- a/hw/s390x/s390-virtio-bus.c
+++ b/hw/s390x/s390-virtio-bus.c
@@ -138,22 +138,24 @@ static void s390_virtio_device_init(VirtIOS390Device *dev,
}
}
-static int s390_virtio_net_init(VirtIOS390Device *s390_dev)
+static void s390_virtio_net_realize(VirtIOS390Device *s390_dev, Error **errp)
{
DeviceState *qdev = DEVICE(s390_dev);
VirtIONetS390 *dev = VIRTIO_NET_S390(s390_dev);
DeviceState *vdev = DEVICE(&dev->vdev);
+ Error *err = NULL;
virtio_net_set_config_size(&dev->vdev, s390_dev->host_features);
virtio_net_set_netclient_name(&dev->vdev, qdev->id,
object_get_typename(OBJECT(qdev)));
qdev_set_parent_bus(vdev, BUS(&s390_dev->bus));
- if (qdev_init(vdev) < 0) {
- return -1;
+ object_property_set_bool(OBJECT(vdev), true, "realized", &err);
+ if (err) {
+ error_propagate(errp, err);
+ return;
}
s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
- return 0;
}
static void s390_virtio_net_instance_init(Object *obj)
@@ -166,16 +168,19 @@ static void s390_virtio_net_instance_init(Object *obj)
"bootindex", &error_abort);
}
-static int s390_virtio_blk_init(VirtIOS390Device *s390_dev)
+static void s390_virtio_blk_realize(VirtIOS390Device *s390_dev, Error **errp)
{
VirtIOBlkS390 *dev = VIRTIO_BLK_S390(s390_dev);
DeviceState *vdev = DEVICE(&dev->vdev);
+ Error *err = NULL;
+
qdev_set_parent_bus(vdev, BUS(&s390_dev->bus));
- if (qdev_init(vdev) < 0) {
- return -1;
+ object_property_set_bool(OBJECT(vdev), true, "realized", &err);
+ if (err) {
+ error_propagate(errp, err);
+ return;
}
s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
- return 0;
}
static void s390_virtio_blk_instance_init(Object *obj)
@@ -190,13 +195,13 @@ static void s390_virtio_blk_instance_init(Object *obj)
"bootindex", &error_abort);
}
-static int s390_virtio_serial_init(VirtIOS390Device *s390_dev)
+static void s390_virtio_serial_realize(VirtIOS390Device *s390_dev, Error **errp)
{
VirtIOSerialS390 *dev = VIRTIO_SERIAL_S390(s390_dev);
DeviceState *vdev = DEVICE(&dev->vdev);
DeviceState *qdev = DEVICE(s390_dev);
+ Error *err = NULL;
VirtIOS390Bus *bus;
- int r;
char *bus_name;
bus = DO_UPCAST(VirtIOS390Bus, bus, qdev->parent_bus);
@@ -212,13 +217,14 @@ static int s390_virtio_serial_init(VirtIOS390Device *s390_dev)
}
qdev_set_parent_bus(vdev, BUS(&s390_dev->bus));
- if (qdev_init(vdev) < 0) {
- return -1;
+ object_property_set_bool(OBJECT(vdev), true, "realized", &err);
+ if (err) {
+ error_propagate(errp, err);
+ return;
}
s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
bus->console = s390_dev;
- return 0;
}
static void s390_virtio_serial_instance_init(Object *obj)
@@ -229,11 +235,12 @@ static void s390_virtio_serial_instance_init(Object *obj)
TYPE_VIRTIO_SERIAL);
}
-static int s390_virtio_scsi_init(VirtIOS390Device *s390_dev)
+static void s390_virtio_scsi_realize(VirtIOS390Device *s390_dev, Error **errp)
{
VirtIOSCSIS390 *dev = VIRTIO_SCSI_S390(s390_dev);
DeviceState *vdev = DEVICE(&dev->vdev);
DeviceState *qdev = DEVICE(s390_dev);
+ Error *err = NULL;
char *bus_name;
/*
@@ -247,12 +254,13 @@ static int s390_virtio_scsi_init(VirtIOS390Device *s390_dev)
}
qdev_set_parent_bus(vdev, BUS(&s390_dev->bus));
- if (qdev_init(vdev) < 0) {
- return -1;
+ object_property_set_bool(OBJECT(vdev), true, "realized", &err);
+ if (err) {
+ error_propagate(errp, err);
+ return;
}
s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
- return 0;
}
static void s390_virtio_scsi_instance_init(Object *obj)
@@ -264,18 +272,20 @@ static void s390_virtio_scsi_instance_init(Object *obj)
}
#ifdef CONFIG_VHOST_SCSI
-static int s390_vhost_scsi_init(VirtIOS390Device *s390_dev)
+static void s390_vhost_scsi_realize(VirtIOS390Device *s390_dev, Error **errp)
{
VHostSCSIS390 *dev = VHOST_SCSI_S390(s390_dev);
DeviceState *vdev = DEVICE(&dev->vdev);
+ Error *err = NULL;
qdev_set_parent_bus(vdev, BUS(&s390_dev->bus));
- if (qdev_init(vdev) < 0) {
- return -1;
+ object_property_set_bool(OBJECT(vdev), true, "realized", &err);
+ if (err) {
+ error_propagate(errp, err);
+ return;
}
s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
- return 0;
}
static void s390_vhost_scsi_instance_init(Object *obj)
@@ -288,14 +298,17 @@ static void s390_vhost_scsi_instance_init(Object *obj)
#endif
-static int s390_virtio_rng_init(VirtIOS390Device *s390_dev)
+static void s390_virtio_rng_realize(VirtIOS390Device *s390_dev, Error **errp)
{
VirtIORNGS390 *dev = VIRTIO_RNG_S390(s390_dev);
DeviceState *vdev = DEVICE(&dev->vdev);
+ Error *err = NULL;
qdev_set_parent_bus(vdev, BUS(&s390_dev->bus));
- if (qdev_init(vdev) < 0) {
- return -1;
+ object_property_set_bool(OBJECT(vdev), true, "realized", &err);
+ if (err) {
+ error_propagate(errp, err);
+ return;
}
object_property_set_link(OBJECT(dev),
@@ -303,7 +316,6 @@ static int s390_virtio_rng_init(VirtIOS390Device *s390_dev)
NULL);
s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
- return 0;
}
static void s390_virtio_rng_instance_init(Object *obj)
@@ -510,7 +522,7 @@ static void s390_virtio_net_class_init(ObjectClass *klass, void *data)
DeviceClass *dc = DEVICE_CLASS(klass);
VirtIOS390DeviceClass *k = VIRTIO_S390_DEVICE_CLASS(klass);
- k->init = s390_virtio_net_init;
+ k->realize = s390_virtio_net_realize;
dc->props = s390_virtio_net_properties;
}
@@ -526,7 +538,7 @@ static void s390_virtio_blk_class_init(ObjectClass *klass, void *data)
{
VirtIOS390DeviceClass *k = VIRTIO_S390_DEVICE_CLASS(klass);
- k->init = s390_virtio_blk_init;
+ k->realize = s390_virtio_blk_realize;
}
static const TypeInfo s390_virtio_blk = {
@@ -546,7 +558,7 @@ static void s390_virtio_serial_class_init(ObjectClass *klass, void *data)
DeviceClass *dc = DEVICE_CLASS(klass);
VirtIOS390DeviceClass *k = VIRTIO_S390_DEVICE_CLASS(klass);
- k->init = s390_virtio_serial_init;
+ k->realize = s390_virtio_serial_realize;
dc->props = s390_virtio_serial_properties;
}
@@ -568,7 +580,7 @@ static void s390_virtio_rng_class_init(ObjectClass *klass, void *data)
DeviceClass *dc = DEVICE_CLASS(klass);
VirtIOS390DeviceClass *k = VIRTIO_S390_DEVICE_CLASS(klass);
- k->init = s390_virtio_rng_init;
+ k->realize = s390_virtio_rng_realize;
dc->props = s390_virtio_rng_properties;
}
@@ -580,14 +592,14 @@ static const TypeInfo s390_virtio_rng = {
.class_init = s390_virtio_rng_class_init,
};
-static int s390_virtio_busdev_init(DeviceState *dev)
+static void s390_virtio_busdev_realize(DeviceState *dev, Error **errp)
{
VirtIOS390Device *_dev = (VirtIOS390Device *)dev;
VirtIOS390DeviceClass *_info = VIRTIO_S390_DEVICE_GET_CLASS(dev);
virtio_s390_bus_new(&_dev->bus, sizeof(_dev->bus), _dev);
- return _info->init(_dev);
+ _info->realize(_dev, errp);
}
static void s390_virtio_busdev_reset(DeviceState *dev)
@@ -601,7 +613,7 @@ static void virtio_s390_device_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
- dc->init = s390_virtio_busdev_init;
+ dc->realize = s390_virtio_busdev_realize;
dc->bus_type = TYPE_S390_VIRTIO_BUS;
dc->reset = s390_virtio_busdev_reset;
}
@@ -626,7 +638,7 @@ static void s390_virtio_scsi_class_init(ObjectClass *klass, void *data)
DeviceClass *dc = DEVICE_CLASS(klass);
VirtIOS390DeviceClass *k = VIRTIO_S390_DEVICE_CLASS(klass);
- k->init = s390_virtio_scsi_init;
+ k->realize = s390_virtio_scsi_realize;
dc->props = s390_virtio_scsi_properties;
}
@@ -649,7 +661,7 @@ static void s390_vhost_scsi_class_init(ObjectClass *klass, void *data)
DeviceClass *dc = DEVICE_CLASS(klass);
VirtIOS390DeviceClass *k = VIRTIO_S390_DEVICE_CLASS(klass);
- k->init = s390_vhost_scsi_init;
+ k->realize = s390_vhost_scsi_realize;
dc->props = s390_vhost_scsi_properties;
}
diff --git a/hw/s390x/s390-virtio-bus.h b/hw/s390x/s390-virtio-bus.h
index ffd0df7..b8b1e48 100644
--- a/hw/s390x/s390-virtio-bus.h
+++ b/hw/s390x/s390-virtio-bus.h
@@ -81,7 +81,7 @@ typedef struct VirtIOS390Device VirtIOS390Device;
typedef struct VirtIOS390DeviceClass {
DeviceClass qdev;
- int (*init)(VirtIOS390Device *dev);
+ void (*realize)(VirtIOS390Device *dev, Error **errp);
} VirtIOS390DeviceClass;
struct VirtIOS390Device {
--
1.9.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize()
2015-02-27 13:55 [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize() Markus Armbruster
2015-02-27 13:55 ` [Qemu-devel] [PATCH 1/2] virtio-s390: s390_virtio_device_init() can't fail, simplify Markus Armbruster
2015-02-27 13:55 ` [Qemu-devel] [PATCH 2/2] virtio-s390: Convert to realize() Markus Armbruster
@ 2015-03-01 15:30 ` Michael S. Tsirkin
2015-03-02 8:04 ` Christian Borntraeger
3 siblings, 0 replies; 7+ messages in thread
From: Michael S. Tsirkin @ 2015-03-01 15:30 UTC (permalink / raw)
To: Markus Armbruster; +Cc: qemu-devel, agraf
On Fri, Feb 27, 2015 at 02:55:35PM +0100, Markus Armbruster wrote:
> Markus Armbruster (2):
> virtio-s390: s390_virtio_device_init() can't fail, simplify
> virtio-s390: Convert to realize()
Acked-by: Michael S. Tsirkin <mst@redhat.com>
But please merge this in the s390 tree.
> hw/s390x/s390-virtio-bus.c | 97 ++++++++++++++++++++++++++--------------------
> hw/s390x/s390-virtio-bus.h | 2 +-
> 2 files changed, 56 insertions(+), 43 deletions(-)
>
> --
> 1.9.3
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize()
2015-02-27 13:55 [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize() Markus Armbruster
` (2 preceding siblings ...)
2015-03-01 15:30 ` [Qemu-devel] [PATCH 0/2] " Michael S. Tsirkin
@ 2015-03-02 8:04 ` Christian Borntraeger
2015-03-11 19:25 ` Markus Armbruster
3 siblings, 1 reply; 7+ messages in thread
From: Christian Borntraeger @ 2015-03-02 8:04 UTC (permalink / raw)
To: Markus Armbruster, qemu-devel; +Cc: agraf, mst
Am 27.02.2015 um 14:55 schrieb Markus Armbruster:
> Markus Armbruster (2):
> virtio-s390: s390_virtio_device_init() can't fail, simplify
> virtio-s390: Convert to realize()
>
> hw/s390x/s390-virtio-bus.c | 97 ++++++++++++++++++++++++++--------------------
> hw/s390x/s390-virtio-bus.h | 2 +-
> 2 files changed, 56 insertions(+), 43 deletions(-)
>
Applied. Thanks.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize()
2015-03-02 8:04 ` Christian Borntraeger
@ 2015-03-11 19:25 ` Markus Armbruster
2015-03-11 19:27 ` Markus Armbruster
0 siblings, 1 reply; 7+ messages in thread
From: Markus Armbruster @ 2015-03-11 19:25 UTC (permalink / raw)
To: Christian Borntraeger; +Cc: mst, qemu-devel, agraf
Christian Borntraeger <borntraeger@de.ibm.com> writes:
> Am 27.02.2015 um 14:55 schrieb Markus Armbruster:
>> Markus Armbruster (2):
>> virtio-s390: s390_virtio_device_init() can't fail, simplify
>> virtio-s390: Convert to realize()
>>
>> hw/s390x/s390-virtio-bus.c | 97 ++++++++++++++++++++++++++--------------------
>> hw/s390x/s390-virtio-bus.h | 2 +-
>> 2 files changed, 56 insertions(+), 43 deletions(-)
>>
>
> Applied. Thanks.
Can you take "[PATCH] virtio-ccw: Convert to realize()" as well?
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize()
2015-03-11 19:25 ` Markus Armbruster
@ 2015-03-11 19:27 ` Markus Armbruster
0 siblings, 0 replies; 7+ messages in thread
From: Markus Armbruster @ 2015-03-11 19:27 UTC (permalink / raw)
To: Christian Borntraeger; +Cc: mst, qemu-devel, agraf
Markus Armbruster <armbru@redhat.com> writes:
> Christian Borntraeger <borntraeger@de.ibm.com> writes:
>
>> Am 27.02.2015 um 14:55 schrieb Markus Armbruster:
>>> Markus Armbruster (2):
>>> virtio-s390: s390_virtio_device_init() can't fail, simplify
>>> virtio-s390: Convert to realize()
>>>
>>> hw/s390x/s390-virtio-bus.c | 97 ++++++++++++++++++++++++++--------------------
>>> hw/s390x/s390-virtio-bus.h | 2 +-
>>> 2 files changed, 56 insertions(+), 43 deletions(-)
>>>
>>
>> Applied. Thanks.
>
> Can you take "[PATCH] virtio-ccw: Convert to realize()" as well?
Nevermind, all of them just landed in master. Thanks!
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-03-11 19:35 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-27 13:55 [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize() Markus Armbruster
2015-02-27 13:55 ` [Qemu-devel] [PATCH 1/2] virtio-s390: s390_virtio_device_init() can't fail, simplify Markus Armbruster
2015-02-27 13:55 ` [Qemu-devel] [PATCH 2/2] virtio-s390: Convert to realize() Markus Armbruster
2015-03-01 15:30 ` [Qemu-devel] [PATCH 0/2] " Michael S. Tsirkin
2015-03-02 8:04 ` Christian Borntraeger
2015-03-11 19:25 ` Markus Armbruster
2015-03-11 19:27 ` Markus Armbruster
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).