[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH] hw/s390x/ccw: Register qbus type in abstract TYPE_CCW_DE
From: |
Eric Farman |
Subject: |
Re: [RFC PATCH] hw/s390x/ccw: Register qbus type in abstract TYPE_CCW_DEVICE parent |
Date: |
Tue, 27 Apr 2021 16:07:10 -0400 |
On Sat, 2021-04-24 at 16:53 +0200, Philippe Mathieu-Daudé wrote:
> Instead of having all TYPE_CCW_DEVICE children set the bus type to
> TYPE_VIRTUAL_CSS_BUS, do it once in the abstract parent.
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> RFC because I don't know these devices, maybe there is a reason
> for setting the bus type in the children (but it should be documented
> IMO).
I don't know the history behind it, but don't see an obvious reason for
doing it the current way. I sure do like the end result.
Acked-by: Eric Farman <farman@linux.ibm.com>
> ---
> hw/s390x/ccw-device.h | 1 +
> hw/s390x/3270-ccw.c | 1 -
> hw/s390x/ccw-device.c | 1 +
> hw/s390x/s390-ccw.c | 2 --
> hw/s390x/virtio-ccw.c | 1 -
> 5 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/hw/s390x/ccw-device.h b/hw/s390x/ccw-device.h
> index 832c78cd421..6dff95225df 100644
> --- a/hw/s390x/ccw-device.h
> +++ b/hw/s390x/ccw-device.h
> @@ -14,6 +14,7 @@
> #include "qom/object.h"
> #include "hw/qdev-core.h"
> #include "hw/s390x/css.h"
> +#include "hw/s390x/css-bridge.h"
>
> struct CcwDevice {
> DeviceState parent_obj;
> diff --git a/hw/s390x/3270-ccw.c b/hw/s390x/3270-ccw.c
> index f3e7342b1e8..0757af60632 100644
> --- a/hw/s390x/3270-ccw.c
> +++ b/hw/s390x/3270-ccw.c
> @@ -159,7 +159,6 @@ static void
> emulated_ccw_3270_class_init(ObjectClass *klass, void *data)
> DeviceClass *dc = DEVICE_CLASS(klass);
>
> device_class_set_props(dc, emulated_ccw_3270_properties);
> - dc->bus_type = TYPE_VIRTUAL_CSS_BUS;
> dc->realize = emulated_ccw_3270_realize;
> dc->hotpluggable = false;
> set_bit(DEVICE_CATEGORY_DISPLAY, dc->categories);
> diff --git a/hw/s390x/ccw-device.c b/hw/s390x/ccw-device.c
> index c9707110e9c..95f269ab441 100644
> --- a/hw/s390x/ccw-device.c
> +++ b/hw/s390x/ccw-device.c
> @@ -59,6 +59,7 @@ static void ccw_device_class_init(ObjectClass
> *klass, void *data)
> k->refill_ids = ccw_device_refill_ids;
> device_class_set_props(dc, ccw_device_properties);
> dc->reset = ccw_device_reset;
> + dc->bus_type = TYPE_VIRTUAL_CSS_BUS;
> }
>
> const VMStateDescription vmstate_ccw_dev = {
> diff --git a/hw/s390x/s390-ccw.c b/hw/s390x/s390-ccw.c
> index b497571863f..cb49f380a6b 100644
> --- a/hw/s390x/s390-ccw.c
> +++ b/hw/s390x/s390-ccw.c
> @@ -177,10 +177,8 @@ static void s390_ccw_instance_init(Object *obj)
>
> static void s390_ccw_class_init(ObjectClass *klass, void *data)
> {
> - DeviceClass *dc = DEVICE_CLASS(klass);
> S390CCWDeviceClass *cdc = S390_CCW_DEVICE_CLASS(klass);
>
> - dc->bus_type = TYPE_VIRTUAL_CSS_BUS;
> cdc->realize = s390_ccw_realize;
> cdc->unrealize = s390_ccw_unrealize;
> }
> diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
> index 8195f3546e4..71ec2bdcc31 100644
> --- a/hw/s390x/virtio-ccw.c
> +++ b/hw/s390x/virtio-ccw.c
> @@ -1235,7 +1235,6 @@ static void
> virtio_ccw_device_class_init(ObjectClass *klass, void *data)
> k->unplug = virtio_ccw_busdev_unplug;
> dc->realize = virtio_ccw_busdev_realize;
> dc->unrealize = virtio_ccw_busdev_unrealize;
> - dc->bus_type = TYPE_VIRTUAL_CSS_BUS;
> device_class_set_parent_reset(dc, virtio_ccw_reset, &vdc-
> >parent_reset);
> }
>