All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4 0/3] use object link instead of qdev property
@ 2018-10-22  7:40 Mao Zhongyi
  2018-10-22  7:40 ` [Qemu-devel] [PATCH v4 1/3] audio: use TYPE_WM8750 instead of a hardcoded string Mao Zhongyi
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Mao Zhongyi @ 2018-10-22  7:40 UTC (permalink / raw)
  To: qemu-devel
  Cc: Mao Zhongyi, Jan Kiszka, Peter Maydell, Gerd Hoffmann,
	Philippe Mathieu-Daudé

According to qdev-properties.h, properties of pointer type
should be avoid, so convert qdev property to link, Whilst we
are here, also update some hardcoded strings with already
defineded macros.

v4:
-fixed the "Broken pipe" error when "make check"

v3:
-removed incorrected "To: xxx" tags from commit message
-keep 'dc->user_creatable = false' in mv88w8618_audio_class_init()

v2:
-removed the patch1
-removed the TYPE_name in VMStateDescription.name

Cc: Jan Kiszka <jan.kiszka@web.de>
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>

Mao Zhongyi (3):
  audio: use TYPE_WM8750 instead of a hardcoded string
  audio: use object link instead of qdev property to pass wm8750
    reference
  audio: use TYPE_MV88W8618_AUDIO instead of hardcoded string

 hw/arm/musicpal.c          |  5 +++--
 hw/audio/marvell_88w8618.c | 14 ++++++--------
 include/hw/audio/wm8750.h  |  1 +
 3 files changed, 10 insertions(+), 10 deletions(-)

-- 
2.17.1

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PATCH v4 1/3] audio: use TYPE_WM8750 instead of a hardcoded string
  2018-10-22  7:40 [Qemu-devel] [PATCH v4 0/3] use object link instead of qdev property Mao Zhongyi
@ 2018-10-22  7:40 ` Mao Zhongyi
  2018-10-22  7:40 ` [Qemu-devel] [PATCH v4 2/3] audio: use object link instead of qdev property to pass wm8750 reference Mao Zhongyi
  2018-10-22  7:40 ` [Qemu-devel] [PATCH v4 3/3] audio: use TYPE_MV88W8618_AUDIO instead of hardcoded string Mao Zhongyi
  2 siblings, 0 replies; 5+ messages in thread
From: Mao Zhongyi @ 2018-10-22  7:40 UTC (permalink / raw)
  To: qemu-devel; +Cc: Mao Zhongyi, Jan Kiszka, Peter Maydell, Gerd Hoffmann

Cc: Jan Kiszka <jan.kiszka@web.de>
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Gerd Hoffmann <kraxel@redhat.com>

Signed-off-by: Mao Zhongyi <maozhongyi@cmss.chinamobile.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/arm/musicpal.c          | 2 +-
 hw/audio/marvell_88w8618.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
index c807010e83..3dafb41b0b 100644
--- a/hw/arm/musicpal.c
+++ b/hw/arm/musicpal.c
@@ -1695,7 +1695,7 @@ static void musicpal_init(MachineState *machine)
     wm8750_dev = i2c_create_slave(i2c, TYPE_WM8750, MP_WM_ADDR);
     dev = qdev_create(NULL, "mv88w8618_audio");
     s = SYS_BUS_DEVICE(dev);
-    qdev_prop_set_ptr(dev, "wm8750", wm8750_dev);
+    qdev_prop_set_ptr(dev, TYPE_WM8750, wm8750_dev);
     qdev_init_nofail(dev);
     sysbus_mmio_map(s, 0, MP_AUDIO_BASE);
     sysbus_connect_irq(s, 0, pic[MP_AUDIO_IRQ]);
diff --git a/hw/audio/marvell_88w8618.c b/hw/audio/marvell_88w8618.c
index e546892d3c..cf6ce6979b 100644
--- a/hw/audio/marvell_88w8618.c
+++ b/hw/audio/marvell_88w8618.c
@@ -280,7 +280,7 @@ static const VMStateDescription mv88w8618_audio_vmsd = {
 };
 
 static Property mv88w8618_audio_properties[] = {
-    DEFINE_PROP_PTR("wm8750", mv88w8618_audio_state, wm),
+    DEFINE_PROP_PTR(TYPE_WM8750, mv88w8618_audio_state, wm),
     {/* end of list */},
 };
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PATCH v4 2/3] audio: use object link instead of qdev property to pass wm8750 reference
  2018-10-22  7:40 [Qemu-devel] [PATCH v4 0/3] use object link instead of qdev property Mao Zhongyi
  2018-10-22  7:40 ` [Qemu-devel] [PATCH v4 1/3] audio: use TYPE_WM8750 instead of a hardcoded string Mao Zhongyi
@ 2018-10-22  7:40 ` Mao Zhongyi
  2018-10-22 23:40   ` Philippe Mathieu-Daudé
  2018-10-22  7:40 ` [Qemu-devel] [PATCH v4 3/3] audio: use TYPE_MV88W8618_AUDIO instead of hardcoded string Mao Zhongyi
  2 siblings, 1 reply; 5+ messages in thread
From: Mao Zhongyi @ 2018-10-22  7:40 UTC (permalink / raw)
  To: qemu-devel; +Cc: Mao Zhongyi, Jan Kiszka, Peter Maydell, Gerd Hoffmann

According to qdev-properties.h, properties of pointer type should
be avoided, it seems a link type property is a good substitution.

Cc: Jan Kiszka <jan.kiszka@web.de>
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Gerd Hoffmann <kraxel@redhat.com>

Signed-off-by: Mao Zhongyi <maozhongyi@cmss.chinamobile.com>
---
 hw/arm/musicpal.c          |  3 ++-
 hw/audio/marvell_88w8618.c | 13 ++++++-------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
index 3dafb41b0b..ac266f9253 100644
--- a/hw/arm/musicpal.c
+++ b/hw/arm/musicpal.c
@@ -1695,7 +1695,8 @@ static void musicpal_init(MachineState *machine)
     wm8750_dev = i2c_create_slave(i2c, TYPE_WM8750, MP_WM_ADDR);
     dev = qdev_create(NULL, "mv88w8618_audio");
     s = SYS_BUS_DEVICE(dev);
-    qdev_prop_set_ptr(dev, TYPE_WM8750, wm8750_dev);
+    object_property_set_link(OBJECT(dev), OBJECT(wm8750_dev),
+                             TYPE_WM8750, NULL);
     qdev_init_nofail(dev);
     sysbus_mmio_map(s, 0, MP_AUDIO_BASE);
     sysbus_connect_irq(s, 0, pic[MP_AUDIO_IRQ]);
diff --git a/hw/audio/marvell_88w8618.c b/hw/audio/marvell_88w8618.c
index cf6ce6979b..1c7080e844 100644
--- a/hw/audio/marvell_88w8618.c
+++ b/hw/audio/marvell_88w8618.c
@@ -15,6 +15,7 @@
 #include "hw/i2c/i2c.h"
 #include "hw/audio/wm8750.h"
 #include "audio/audio.h"
+#include "qapi/error.h"
 
 #define MP_AUDIO_SIZE           0x00001000
 
@@ -252,6 +253,11 @@ static void mv88w8618_audio_init(Object *obj)
     memory_region_init_io(&s->iomem, obj, &mv88w8618_audio_ops, s,
                           "audio", MP_AUDIO_SIZE);
     sysbus_init_mmio(dev, &s->iomem);
+
+    object_property_add_link(OBJECT(dev), "wm8750", TYPE_WM8750,
+                             (Object **) &s->wm,
+                             qdev_prop_allow_set_link_before_realize,
+                             0, &error_abort);
 }
 
 static void mv88w8618_audio_realize(DeviceState *dev, Error **errp)
@@ -279,11 +285,6 @@ static const VMStateDescription mv88w8618_audio_vmsd = {
     }
 };
 
-static Property mv88w8618_audio_properties[] = {
-    DEFINE_PROP_PTR(TYPE_WM8750, mv88w8618_audio_state, wm),
-    {/* end of list */},
-};
-
 static void mv88w8618_audio_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
@@ -291,8 +292,6 @@ static void mv88w8618_audio_class_init(ObjectClass *klass, void *data)
     dc->realize = mv88w8618_audio_realize;
     dc->reset = mv88w8618_audio_reset;
     dc->vmsd = &mv88w8618_audio_vmsd;
-    dc->props = mv88w8618_audio_properties;
-    /* Reason: pointer property "wm8750" */
     dc->user_creatable = false;
 }
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PATCH v4 3/3] audio: use TYPE_MV88W8618_AUDIO instead of hardcoded string
  2018-10-22  7:40 [Qemu-devel] [PATCH v4 0/3] use object link instead of qdev property Mao Zhongyi
  2018-10-22  7:40 ` [Qemu-devel] [PATCH v4 1/3] audio: use TYPE_WM8750 instead of a hardcoded string Mao Zhongyi
  2018-10-22  7:40 ` [Qemu-devel] [PATCH v4 2/3] audio: use object link instead of qdev property to pass wm8750 reference Mao Zhongyi
@ 2018-10-22  7:40 ` Mao Zhongyi
  2 siblings, 0 replies; 5+ messages in thread
From: Mao Zhongyi @ 2018-10-22  7:40 UTC (permalink / raw)
  To: qemu-devel
  Cc: Mao Zhongyi, Jan Kiszka, Philippe Mathieu-Daudé, Peter Maydell

Cc: Jan Kiszka <jan.kiszka@web.de>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>

Signed-off-by: Mao Zhongyi <maozhongyi@cmss.chinamobile.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/arm/musicpal.c          | 2 +-
 hw/audio/marvell_88w8618.c | 1 -
 include/hw/audio/wm8750.h  | 1 +
 3 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
index ac266f9253..9648b3af44 100644
--- a/hw/arm/musicpal.c
+++ b/hw/arm/musicpal.c
@@ -1693,7 +1693,7 @@ static void musicpal_init(MachineState *machine)
     }
 
     wm8750_dev = i2c_create_slave(i2c, TYPE_WM8750, MP_WM_ADDR);
-    dev = qdev_create(NULL, "mv88w8618_audio");
+    dev = qdev_create(NULL, TYPE_MV88W8618_AUDIO);
     s = SYS_BUS_DEVICE(dev);
     object_property_set_link(OBJECT(dev), OBJECT(wm8750_dev),
                              TYPE_WM8750, NULL);
diff --git a/hw/audio/marvell_88w8618.c b/hw/audio/marvell_88w8618.c
index 1c7080e844..6600ab4851 100644
--- a/hw/audio/marvell_88w8618.c
+++ b/hw/audio/marvell_88w8618.c
@@ -39,7 +39,6 @@
 #define MP_AUDIO_CLOCK_24MHZ    (1 << 9)
 #define MP_AUDIO_MONO           (1 << 14)
 
-#define TYPE_MV88W8618_AUDIO "mv88w8618_audio"
 #define MV88W8618_AUDIO(obj) \
     OBJECT_CHECK(mv88w8618_audio_state, (obj), TYPE_MV88W8618_AUDIO)
 
diff --git a/include/hw/audio/wm8750.h b/include/hw/audio/wm8750.h
index 84e7a119bb..e12cb886d1 100644
--- a/include/hw/audio/wm8750.h
+++ b/include/hw/audio/wm8750.h
@@ -17,6 +17,7 @@
 #include "hw/hw.h"
 
 #define TYPE_WM8750 "wm8750"
+#define TYPE_MV88W8618_AUDIO "mv88w8618_audio"
 
 typedef void data_req_cb(void *opaque, int free_out, int free_in);
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH v4 2/3] audio: use object link instead of qdev property to pass wm8750 reference
  2018-10-22  7:40 ` [Qemu-devel] [PATCH v4 2/3] audio: use object link instead of qdev property to pass wm8750 reference Mao Zhongyi
@ 2018-10-22 23:40   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2018-10-22 23:40 UTC (permalink / raw)
  To: Mao Zhongyi, qemu-devel; +Cc: Peter Maydell, Jan Kiszka, Gerd Hoffmann

On 22/10/18 9:40, Mao Zhongyi wrote:
> According to qdev-properties.h, properties of pointer type should
> be avoided, it seems a link type property is a good substitution.
> 
> Cc: Jan Kiszka <jan.kiszka@web.de>
> Cc: Peter Maydell <peter.maydell@linaro.org>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> 
> Signed-off-by: Mao Zhongyi <maozhongyi@cmss.chinamobile.com>

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> ---
>   hw/arm/musicpal.c          |  3 ++-
>   hw/audio/marvell_88w8618.c | 13 ++++++-------
>   2 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
> index 3dafb41b0b..ac266f9253 100644
> --- a/hw/arm/musicpal.c
> +++ b/hw/arm/musicpal.c
> @@ -1695,7 +1695,8 @@ static void musicpal_init(MachineState *machine)
>       wm8750_dev = i2c_create_slave(i2c, TYPE_WM8750, MP_WM_ADDR);
>       dev = qdev_create(NULL, "mv88w8618_audio");
>       s = SYS_BUS_DEVICE(dev);
> -    qdev_prop_set_ptr(dev, TYPE_WM8750, wm8750_dev);
> +    object_property_set_link(OBJECT(dev), OBJECT(wm8750_dev),
> +                             TYPE_WM8750, NULL);
>       qdev_init_nofail(dev);
>       sysbus_mmio_map(s, 0, MP_AUDIO_BASE);
>       sysbus_connect_irq(s, 0, pic[MP_AUDIO_IRQ]);
> diff --git a/hw/audio/marvell_88w8618.c b/hw/audio/marvell_88w8618.c
> index cf6ce6979b..1c7080e844 100644
> --- a/hw/audio/marvell_88w8618.c
> +++ b/hw/audio/marvell_88w8618.c
> @@ -15,6 +15,7 @@
>   #include "hw/i2c/i2c.h"
>   #include "hw/audio/wm8750.h"
>   #include "audio/audio.h"
> +#include "qapi/error.h"
>   
>   #define MP_AUDIO_SIZE           0x00001000
>   
> @@ -252,6 +253,11 @@ static void mv88w8618_audio_init(Object *obj)
>       memory_region_init_io(&s->iomem, obj, &mv88w8618_audio_ops, s,
>                             "audio", MP_AUDIO_SIZE);
>       sysbus_init_mmio(dev, &s->iomem);
> +
> +    object_property_add_link(OBJECT(dev), "wm8750", TYPE_WM8750,
> +                             (Object **) &s->wm,
> +                             qdev_prop_allow_set_link_before_realize,
> +                             0, &error_abort);
>   }
>   
>   static void mv88w8618_audio_realize(DeviceState *dev, Error **errp)
> @@ -279,11 +285,6 @@ static const VMStateDescription mv88w8618_audio_vmsd = {
>       }
>   };
>   
> -static Property mv88w8618_audio_properties[] = {
> -    DEFINE_PROP_PTR(TYPE_WM8750, mv88w8618_audio_state, wm),
> -    {/* end of list */},
> -};
> -
>   static void mv88w8618_audio_class_init(ObjectClass *klass, void *data)
>   {
>       DeviceClass *dc = DEVICE_CLASS(klass);
> @@ -291,8 +292,6 @@ static void mv88w8618_audio_class_init(ObjectClass *klass, void *data)
>       dc->realize = mv88w8618_audio_realize;
>       dc->reset = mv88w8618_audio_reset;
>       dc->vmsd = &mv88w8618_audio_vmsd;
> -    dc->props = mv88w8618_audio_properties;
> -    /* Reason: pointer property "wm8750" */
>       dc->user_creatable = false;
>   }
>   
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-10-22 23:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-22  7:40 [Qemu-devel] [PATCH v4 0/3] use object link instead of qdev property Mao Zhongyi
2018-10-22  7:40 ` [Qemu-devel] [PATCH v4 1/3] audio: use TYPE_WM8750 instead of a hardcoded string Mao Zhongyi
2018-10-22  7:40 ` [Qemu-devel] [PATCH v4 2/3] audio: use object link instead of qdev property to pass wm8750 reference Mao Zhongyi
2018-10-22 23:40   ` Philippe Mathieu-Daudé
2018-10-22  7:40 ` [Qemu-devel] [PATCH v4 3/3] audio: use TYPE_MV88W8618_AUDIO instead of hardcoded string Mao Zhongyi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.