Re: [PATCH] xlnx-zynqmp-efuse: hw/nvram: Remove deprecated device reset

2023-10-16 Thread Peter Maydell
On Wed, 4 Oct 2023 at 06:57, Tong Ho  wrote:
>
> This change implements the ResettableClass interface for the device.
>
> Signed-off-by: Tong Ho 
> ---

Applied to target-arm.next, thanks.

For the future, if you have a small set of basically
similar patches to related devices like these reset
ones, it's a bit less effort for me if you send them out
as a patch-series rather than as separate individual
patches.

thanks
-- PMM



Re: [PATCH] xlnx-zynqmp-efuse: hw/nvram: Remove deprecated device reset

2023-10-04 Thread Francisco Iglesias
On [2023 Oct 03] Tue 22:57:13, Tong Ho wrote:
> This change implements the ResettableClass interface for the device.
> 
> Signed-off-by: Tong Ho 

Reviewed-by: Francisco Iglesias 

> ---
>  hw/nvram/xlnx-zynqmp-efuse.c | 8 +---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/hw/nvram/xlnx-zynqmp-efuse.c b/hw/nvram/xlnx-zynqmp-efuse.c
> index 228ba0bbfa..3db5f98ec1 100644
> --- a/hw/nvram/xlnx-zynqmp-efuse.c
> +++ b/hw/nvram/xlnx-zynqmp-efuse.c
> @@ -2,6 +2,7 @@
>   * QEMU model of the ZynqMP eFuse
>   *
>   * Copyright (c) 2015 Xilinx Inc.
> + * Copyright (c) 2023 Advanced Micro Devices, Inc.
>   *
>   * Written by Edgar E. Iglesias 
>   *
> @@ -769,9 +770,9 @@ static void zynqmp_efuse_register_reset(RegisterInfo *reg)
>  register_reset(reg);
>  }
>  
> -static void zynqmp_efuse_reset(DeviceState *dev)
> +static void zynqmp_efuse_reset_hold(Object *obj)
>  {
> -XlnxZynqMPEFuse *s = XLNX_ZYNQMP_EFUSE(dev);
> +XlnxZynqMPEFuse *s = XLNX_ZYNQMP_EFUSE(obj);
>  unsigned int i;
>  
>  for (i = 0; i < ARRAY_SIZE(s->regs_info); ++i) {
> @@ -837,8 +838,9 @@ static Property zynqmp_efuse_props[] = {
>  static void zynqmp_efuse_class_init(ObjectClass *klass, void *data)
>  {
>  DeviceClass *dc = DEVICE_CLASS(klass);
> +ResettableClass *rc = RESETTABLE_CLASS(klass);
>  
> -dc->reset = zynqmp_efuse_reset;
> +rc->phases.hold = zynqmp_efuse_reset_hold;
>  dc->realize = zynqmp_efuse_realize;
>  dc->vmsd = _efuse;
>  device_class_set_props(dc, zynqmp_efuse_props);
> -- 
> 2.25.1
> 
> 



[PATCH] xlnx-zynqmp-efuse: hw/nvram: Remove deprecated device reset

2023-10-03 Thread Tong Ho
This change implements the ResettableClass interface for the device.

Signed-off-by: Tong Ho 
---
 hw/nvram/xlnx-zynqmp-efuse.c | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/hw/nvram/xlnx-zynqmp-efuse.c b/hw/nvram/xlnx-zynqmp-efuse.c
index 228ba0bbfa..3db5f98ec1 100644
--- a/hw/nvram/xlnx-zynqmp-efuse.c
+++ b/hw/nvram/xlnx-zynqmp-efuse.c
@@ -2,6 +2,7 @@
  * QEMU model of the ZynqMP eFuse
  *
  * Copyright (c) 2015 Xilinx Inc.
+ * Copyright (c) 2023 Advanced Micro Devices, Inc.
  *
  * Written by Edgar E. Iglesias 
  *
@@ -769,9 +770,9 @@ static void zynqmp_efuse_register_reset(RegisterInfo *reg)
 register_reset(reg);
 }
 
-static void zynqmp_efuse_reset(DeviceState *dev)
+static void zynqmp_efuse_reset_hold(Object *obj)
 {
-XlnxZynqMPEFuse *s = XLNX_ZYNQMP_EFUSE(dev);
+XlnxZynqMPEFuse *s = XLNX_ZYNQMP_EFUSE(obj);
 unsigned int i;
 
 for (i = 0; i < ARRAY_SIZE(s->regs_info); ++i) {
@@ -837,8 +838,9 @@ static Property zynqmp_efuse_props[] = {
 static void zynqmp_efuse_class_init(ObjectClass *klass, void *data)
 {
 DeviceClass *dc = DEVICE_CLASS(klass);
+ResettableClass *rc = RESETTABLE_CLASS(klass);
 
-dc->reset = zynqmp_efuse_reset;
+rc->phases.hold = zynqmp_efuse_reset_hold;
 dc->realize = zynqmp_efuse_realize;
 dc->vmsd = _efuse;
 device_class_set_props(dc, zynqmp_efuse_props);
-- 
2.25.1