[PATCH 2/2] hw/riscv/sifive_u: Resolve redundant property accessors

Bernhard Beschow posted 2 patches 3 years, 11 months ago
Maintainers: Alistair Francis <Alistair.Francis@wdc.com>, David Hildenbrand <david@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Bin Meng <bin.meng@windriver.com>, Alex Williamson <alex.williamson@redhat.com>, Palmer Dabbelt <palmer@dabbelt.com>
There is a newer version of this series
[PATCH 2/2] hw/riscv/sifive_u: Resolve redundant property accessors
Posted by Bernhard Beschow 3 years, 11 months ago
The QOM API already provides accessors for uint32 values, so reuse them.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
 hw/riscv/sifive_u.c | 24 ++++--------------------
 1 file changed, 4 insertions(+), 20 deletions(-)

diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c
index 7fbc7dea42..747eb4ee89 100644
--- a/hw/riscv/sifive_u.c
+++ b/hw/riscv/sifive_u.c
@@ -713,36 +713,20 @@ static void sifive_u_machine_set_start_in_flash(Object *obj, bool value, Error *
     s->start_in_flash = value;
 }
 
-static void sifive_u_machine_get_uint32_prop(Object *obj, Visitor *v,
-                                             const char *name, void *opaque,
-                                             Error **errp)
-{
-    visit_type_uint32(v, name, (uint32_t *)opaque, errp);
-}
-
-static void sifive_u_machine_set_uint32_prop(Object *obj, Visitor *v,
-                                             const char *name, void *opaque,
-                                             Error **errp)
-{
-    visit_type_uint32(v, name, (uint32_t *)opaque, errp);
-}
-
 static void sifive_u_machine_instance_init(Object *obj)
 {
     SiFiveUState *s = RISCV_U_MACHINE(obj);
 
     s->start_in_flash = false;
     s->msel = 0;
-    object_property_add(obj, "msel", "uint32",
-                        sifive_u_machine_get_uint32_prop,
-                        sifive_u_machine_set_uint32_prop, NULL, &s->msel);
+    object_property_add_uint32_ptr(obj, "msel", &s->msel,
+                                   OBJ_PROP_FLAG_READWRITE);
     object_property_set_description(obj, "msel",
                                     "Mode Select (MSEL[3:0]) pin state");
 
     s->serial = OTP_SERIAL;
-    object_property_add(obj, "serial", "uint32",
-                        sifive_u_machine_get_uint32_prop,
-                        sifive_u_machine_set_uint32_prop, NULL, &s->serial);
+    object_property_add_uint32_ptr(obj, "serial", &s->serial,
+                                   OBJ_PROP_FLAG_READWRITE);
     object_property_set_description(obj, "serial", "Board serial number");
 }
 
-- 
2.35.1


Re: [PATCH 2/2] hw/riscv/sifive_u: Resolve redundant property accessors
Posted by Alistair Francis 3 years, 11 months ago
On Fri, Feb 18, 2022 at 8:54 AM Bernhard Beschow <shentey@gmail.com> wrote:
>
> The QOM API already provides accessors for uint32 values, so reuse them.
>
> Signed-off-by: Bernhard Beschow <shentey@gmail.com>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
>  hw/riscv/sifive_u.c | 24 ++++--------------------
>  1 file changed, 4 insertions(+), 20 deletions(-)
>
> diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c
> index 7fbc7dea42..747eb4ee89 100644
> --- a/hw/riscv/sifive_u.c
> +++ b/hw/riscv/sifive_u.c
> @@ -713,36 +713,20 @@ static void sifive_u_machine_set_start_in_flash(Object *obj, bool value, Error *
>      s->start_in_flash = value;
>  }
>
> -static void sifive_u_machine_get_uint32_prop(Object *obj, Visitor *v,
> -                                             const char *name, void *opaque,
> -                                             Error **errp)
> -{
> -    visit_type_uint32(v, name, (uint32_t *)opaque, errp);
> -}
> -
> -static void sifive_u_machine_set_uint32_prop(Object *obj, Visitor *v,
> -                                             const char *name, void *opaque,
> -                                             Error **errp)
> -{
> -    visit_type_uint32(v, name, (uint32_t *)opaque, errp);
> -}
> -
>  static void sifive_u_machine_instance_init(Object *obj)
>  {
>      SiFiveUState *s = RISCV_U_MACHINE(obj);
>
>      s->start_in_flash = false;
>      s->msel = 0;
> -    object_property_add(obj, "msel", "uint32",
> -                        sifive_u_machine_get_uint32_prop,
> -                        sifive_u_machine_set_uint32_prop, NULL, &s->msel);
> +    object_property_add_uint32_ptr(obj, "msel", &s->msel,
> +                                   OBJ_PROP_FLAG_READWRITE);
>      object_property_set_description(obj, "msel",
>                                      "Mode Select (MSEL[3:0]) pin state");
>
>      s->serial = OTP_SERIAL;
> -    object_property_add(obj, "serial", "uint32",
> -                        sifive_u_machine_get_uint32_prop,
> -                        sifive_u_machine_set_uint32_prop, NULL, &s->serial);
> +    object_property_add_uint32_ptr(obj, "serial", &s->serial,
> +                                   OBJ_PROP_FLAG_READWRITE);
>      object_property_set_description(obj, "serial", "Board serial number");
>  }
>
> --
> 2.35.1
>
>

Re: [PATCH 2/2] hw/riscv/sifive_u: Resolve redundant property accessors
Posted by Philippe Mathieu-Daudé 3 years, 11 months ago
On 17/2/22 23:53, Bernhard Beschow wrote:
> The QOM API already provides accessors for uint32 values, so reuse them.
> 
> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
> ---
>   hw/riscv/sifive_u.c | 24 ++++--------------------
>   1 file changed, 4 insertions(+), 20 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>