Reviewed-by: Glenn Miles <[email protected]>

Thanks,

Glenn

On Fri, 2026-11-06 at 12:04 +0100, Markus Armbruster wrote:
> Signed-off-by: Markus Armbruster <[email protected]>
> ---
>  hw/gpio/pca9554.c | 15 ++++++++-------
>  1 file changed, 8 insertions(+), 7 deletions(-)
> 
> diff --git a/hw/gpio/pca9554.c b/hw/gpio/pca9554.c
> index 1362b605c2..ed304e4639 100644
> --- a/hw/gpio/pca9554.c
> +++ b/hw/gpio/pca9554.c
> @@ -290,18 +290,18 @@ static void pca9554_reset(DeviceState *dev)
>      s->len = 0;
>  }
>  
> -static void pca9554_initfn(Object *obj)
> +static void pca9554_pin_init(PCA9554Class *pc)
>  {
> -    PCA9554Class *pc = PCA9554_BASE_GET_CLASS(obj);
>      int pin;
>  
>      for (pin = 0; pin < pc->pin_count; pin++) {
>          char *name;
>  
>          name = g_strdup_printf("pin%d", pin);
> -        object_property_add(obj, name, "str", &str_type_info,
> -                            pca9554_get_pin, pca9554_set_pin,
> -                            NULL, NULL);
> +        object_class_property_add(OBJECT_CLASS(pc), name,
> +                                  "str", &str_type_info,
> +                                  pca9554_get_pin, pca9554_set_pin,
> +                                  NULL, NULL);
>          g_free(name);
>      }
>  }
> @@ -352,6 +352,7 @@ static void pca9554_class_init(ObjectClass *klass, const 
> void *data)
>      PCA9554Class *pc = PCA9554_BASE_CLASS(klass);
>  
>      pc->pin_count = PCA9554_PIN_COUNT;
> +    pca9554_pin_init(pc);
>  }
>  
>  static void pca9536_class_init(ObjectClass *klass, const void *data)
> @@ -359,13 +360,13 @@ static void pca9536_class_init(ObjectClass *klass, 
> const void *data)
>      PCA9554Class *pc = PCA9554_BASE_CLASS(klass);
>  
>      pc->pin_count = PCA9536_PIN_COUNT;
> +    pca9554_pin_init(pc);
>  }
>  
>  static const TypeInfo pca9554_types[] = {
>      {
>          .name          = TYPE_PCA9554_BASE,
>          .parent        = TYPE_I2C_SLAVE,
> -        .instance_init = pca9554_initfn,
>          .instance_size = sizeof(PCA9554State),
>          .class_init    = pca9554_base_class_init,
>          .class_size    = sizeof(PCA9554Class),
> @@ -378,7 +379,7 @@ static const TypeInfo pca9554_types[] = {
>      },
>      {
>          .name          = TYPE_PCA9536,
> -        .parent        = TYPE_PCA9554,
> +        .parent        = TYPE_PCA9554_BASE,
>          .class_init    = pca9536_class_init,
>      }
>  };


Reply via email to