qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] hw/i2c/core.c: add the id property of i2c_slave


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH] hw/i2c/core.c: add the id property of i2c_slaver when created in the QEMUMachine's initialization
Date: Fri, 15 Nov 2013 10:28:40 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux)

"Zhou Yuan" <address@hidden> writes:

> From: zhouy <address@hidden>
> Date: Fri, 15 Nov 2013 15:50:52 -0500
> Subject: [PATCH] add the id property of i2c_slaver when created in the
>  QEMUMachine's initialization
>
> Signed-off-by: zhouy <address@hidden>
> ---
>  qemu-master/hw/i2c/core.c |    8 +++++++-
>  1 files changed, 7 insertions(+), 1 deletions(-)
>
> diff --git a/qemu-master/hw/i2c/core.c b/qemu-master/hw/i2c/core.c
> index c97e7f7..ea3e59d 100644
> --- a/qemu-master/hw/i2c/core.c
> +++ b/qemu-master/hw/i2c/core.c
> @@ -213,10 +213,16 @@ static int i2c_slave_qdev_init(DeviceState *dev)
>  DeviceState *i2c_create_slave(i2c_bus *bus, const char *name, uint8_t addr)
>  {
>      DeviceState *dev;
> -
> +    static unsigned int seq_num;
> +    char *id = g_malloc0(20);
> +    snprintf(id, 20, "%s-%d", name, seq_num);
>      dev = qdev_create(&bus->qbus, name);
>      qdev_prop_set_uint8(dev, "address", addr);
> +    dev->id = id;
> +    object_property_add_child(container_get(qdev_get_machine(), 
> "/peripheral"),
> +                              dev->id, OBJECT(dev), NULL);
>      qdev_init_nofail(dev);
> +    seq_num++;
>      return dev;
>  }

Why is this needed?

In general, property "id" / DeviceState member id is strictly for the
user, and should never be set automatically.  Exceptions exist in
convenience options, mostly for historical reasons.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]