[PATCH v2 01/11] hw/s390/ccw-device: Convert to three-phase reset

Peter Maydell posted 11 patches 2 months, 3 weeks ago
[PATCH v2 01/11] hw/s390/ccw-device: Convert to three-phase reset
Posted by Peter Maydell 2 months, 3 weeks ago
Convert the TYPE_CCW_DEVICE to three-phase reset. This is a
device class which is subclassed, so it needs to be three-phase
before we can convert the subclass.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 hw/s390x/ccw-device.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/hw/s390x/ccw-device.c b/hw/s390x/ccw-device.c
index a7d682e5af9..14c24e38904 100644
--- a/hw/s390x/ccw-device.c
+++ b/hw/s390x/ccw-device.c
@@ -44,9 +44,9 @@ static Property ccw_device_properties[] = {
     DEFINE_PROP_END_OF_LIST(),
 };
 
-static void ccw_device_reset(DeviceState *d)
+static void ccw_device_reset_hold(Object *obj, ResetType type)
 {
-    CcwDevice *ccw_dev = CCW_DEVICE(d);
+    CcwDevice *ccw_dev = CCW_DEVICE(obj);
 
     css_reset_sch(ccw_dev->sch);
 }
@@ -55,11 +55,12 @@ static void ccw_device_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
     CCWDeviceClass *k = CCW_DEVICE_CLASS(klass);
+    ResettableClass *rc = RESETTABLE_CLASS(klass);
 
     k->realize = ccw_device_realize;
     k->refill_ids = ccw_device_refill_ids;
     device_class_set_props(dc, ccw_device_properties);
-    dc->reset = ccw_device_reset;
+    rc->phases.hold = ccw_device_reset_hold;
     dc->bus_type = TYPE_VIRTUAL_CSS_BUS;
 }
 
-- 
2.34.1
Re: [PATCH v2 01/11] hw/s390/ccw-device: Convert to three-phase reset
Posted by Thomas Huth 2 months, 3 weeks ago
On 30/08/2024 16.58, Peter Maydell wrote:
> Convert the TYPE_CCW_DEVICE to three-phase reset. This is a
> device class which is subclassed, so it needs to be three-phase
> before we can convert the subclass.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>   hw/s390x/ccw-device.c | 7 ++++---
>   1 file changed, 4 insertions(+), 3 deletions(-)


Acked-by: Thomas Huth <thuth@redhat.com>
Re: [PATCH v2 01/11] hw/s390/ccw-device: Convert to three-phase reset
Posted by Philippe Mathieu-Daudé 2 months, 3 weeks ago
On 30/8/24 16:58, Peter Maydell wrote:
> Convert the TYPE_CCW_DEVICE to three-phase reset. This is a
> device class which is subclassed, so it needs to be three-phase
> before we can convert the subclass.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>   hw/s390x/ccw-device.c | 7 ++++---
>   1 file changed, 4 insertions(+), 3 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


Re: [PATCH v2 01/11] hw/s390/ccw-device: Convert to three-phase reset
Posted by Nina Schoetterl-Glausch 2 months, 3 weeks ago
On Fri, 2024-08-30 at 15:58 +0100, Peter Maydell wrote:
> Convert the TYPE_CCW_DEVICE to three-phase reset. This is a
> device class which is subclassed, so it needs to be three-phase
> before we can convert the subclass.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Reviewed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>

> ---
>  hw/s390x/ccw-device.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/hw/s390x/ccw-device.c b/hw/s390x/ccw-device.c
> index a7d682e5af9..14c24e38904 100644
> --- a/hw/s390x/ccw-device.c
> +++ b/hw/s390x/ccw-device.c
> @@ -44,9 +44,9 @@ static Property ccw_device_properties[] = {
>      DEFINE_PROP_END_OF_LIST(),
>  };
>  
> -static void ccw_device_reset(DeviceState *d)
> +static void ccw_device_reset_hold(Object *obj, ResetType type)
>  {
> -    CcwDevice *ccw_dev = CCW_DEVICE(d);
> +    CcwDevice *ccw_dev = CCW_DEVICE(obj);
>  
>      css_reset_sch(ccw_dev->sch);
>  }
> @@ -55,11 +55,12 @@ static void ccw_device_class_init(ObjectClass *klass, void *data)
>  {
>      DeviceClass *dc = DEVICE_CLASS(klass);
>      CCWDeviceClass *k = CCW_DEVICE_CLASS(klass);
> +    ResettableClass *rc = RESETTABLE_CLASS(klass);
>  
>      k->realize = ccw_device_realize;
>      k->refill_ids = ccw_device_refill_ids;
>      device_class_set_props(dc, ccw_device_properties);
> -    dc->reset = ccw_device_reset;
> +    rc->phases.hold = ccw_device_reset_hold;
>      dc->bus_type = TYPE_VIRTUAL_CSS_BUS;
>  }
>