qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH qom-next for-1.6 0/2] cpu: QOM cast cleanups
@ 2013-07-24 22:16 Andreas Färber
  2013-07-24 22:16 ` [Qemu-devel] [PATCH qom-next for-1.6 1/2] arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState Andreas Färber
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Andreas Färber @ 2013-07-24 22:16 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Hu Tao

Hello Peter,

This series eliminates FROM_SYSBUS() in hw/cpu/.

For QOM realize post-1.6 these devices will need cleanups similar to a9/a15;
it even instantiates arm11mpcore_priv from the realview_mpcore device, similar
to my Tegra2 SoC (although in the same file ;)).

Regards,
Andreas

Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Hu Tao <hutao@cn.fujitsu.com>

Andreas Färber (2):
  arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState
  arm11mpcore: QOM cast cleanups for mpcore_rirq_state

 hw/cpu/arm11mpcore.c | 42 +++++++++++++++++++++++++++---------------
 1 file changed, 27 insertions(+), 15 deletions(-)

-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 1/2] arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState
  2013-07-24 22:16 [Qemu-devel] [PATCH qom-next for-1.6 0/2] cpu: QOM cast cleanups Andreas Färber
@ 2013-07-24 22:16 ` Andreas Färber
  2013-07-26  2:22   ` Hu Tao
  2013-07-24 22:17 ` [Qemu-devel] [PATCH qom-next for-1.6 2/2] arm11mpcore: QOM cast cleanups for mpcore_rirq_state Andreas Färber
  2013-07-26 22:21 ` [Qemu-devel] [PATCH qom-next for-1.6 0/2] cpu: QOM cast cleanups Andreas Färber
  2 siblings, 1 reply; 6+ messages in thread
From: Andreas Färber @ 2013-07-24 22:16 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/cpu/arm11mpcore.c | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/hw/cpu/arm11mpcore.c b/hw/cpu/arm11mpcore.c
index 8eeb53e..31c9d5a 100644
--- a/hw/cpu/arm11mpcore.c
+++ b/hw/cpu/arm11mpcore.c
@@ -12,8 +12,13 @@
 
 /* MPCore private memory region.  */
 
+#define TYPE_ARM11MPCORE_PRIV "arm11mpcore_priv"
+#define ARM11MPCORE_PRIV(obj) \
+    OBJECT_CHECK(ARM11MPCorePriveState, (obj), TYPE_ARM11MPCORE_PRIV)
+
 typedef struct ARM11MPCorePriveState {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     uint32_t scu_control;
     int iomemtype;
     uint32_t old_timer_status[8];
@@ -125,9 +130,10 @@ static void mpcore_priv_map_setup(ARM11MPCorePriveState *s)
     }
 }
 
-static int mpcore_priv_init(SysBusDevice *dev)
+static int mpcore_priv_init(SysBusDevice *sbd)
 {
-    ARM11MPCorePriveState *s = FROM_SYSBUS(ARM11MPCorePriveState, dev);
+    DeviceState *dev = DEVICE(sbd);
+    ARM11MPCorePriveState *s = ARM11MPCORE_PRIV(dev);
 
     s->gic = qdev_create(NULL, "arm_gic");
     qdev_prop_set_uint32(s->gic, "num-cpu", s->num_cpu);
@@ -137,10 +143,10 @@ static int mpcore_priv_init(SysBusDevice *dev)
     qdev_init_nofail(s->gic);
 
     /* Pass through outbound IRQ lines from the GIC */
-    sysbus_pass_irq(dev, SYS_BUS_DEVICE(s->gic));
+    sysbus_pass_irq(sbd, SYS_BUS_DEVICE(s->gic));
 
     /* Pass through inbound GPIO lines to the GIC */
-    qdev_init_gpio_in(&s->busdev.qdev, mpcore_priv_set_irq, s->num_irq - 32);
+    qdev_init_gpio_in(dev, mpcore_priv_set_irq, s->num_irq - 32);
 
     s->mptimer = qdev_create(NULL, "arm_mptimer");
     qdev_prop_set_uint32(s->mptimer, "num-cpu", s->num_cpu);
@@ -151,7 +157,7 @@ static int mpcore_priv_init(SysBusDevice *dev)
     qdev_init_nofail(s->wdtimer);
 
     mpcore_priv_map_setup(s);
-    sysbus_init_mmio(dev, &s->container);
+    sysbus_init_mmio(sbd, &s->container);
     return 0;
 }
 
@@ -198,7 +204,7 @@ static int realview_mpcore_init(SysBusDevice *dev)
     int n;
     int i;
 
-    priv = qdev_create(NULL, "arm11mpcore_priv");
+    priv = qdev_create(NULL, TYPE_ARM11MPCORE_PRIV);
     qdev_prop_set_uint32(priv, "num-cpu", s->num_cpu);
     qdev_init_nofail(priv);
     s->priv = SYS_BUS_DEVICE(priv);
@@ -264,7 +270,7 @@ static void mpcore_priv_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo mpcore_priv_info = {
-    .name          = "arm11mpcore_priv",
+    .name          = TYPE_ARM11MPCORE_PRIV,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(ARM11MPCorePriveState),
     .class_init    = mpcore_priv_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 2/2] arm11mpcore: QOM cast cleanups for mpcore_rirq_state
  2013-07-24 22:16 [Qemu-devel] [PATCH qom-next for-1.6 0/2] cpu: QOM cast cleanups Andreas Färber
  2013-07-24 22:16 ` [Qemu-devel] [PATCH qom-next for-1.6 1/2] arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState Andreas Färber
@ 2013-07-24 22:17 ` Andreas Färber
  2013-07-26  2:22   ` Hu Tao
  2013-07-26 22:21 ` [Qemu-devel] [PATCH qom-next for-1.6 0/2] cpu: QOM cast cleanups Andreas Färber
  2 siblings, 1 reply; 6+ messages in thread
From: Andreas Färber @ 2013-07-24 22:17 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/cpu/arm11mpcore.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/hw/cpu/arm11mpcore.c b/hw/cpu/arm11mpcore.c
index 31c9d5a..a786c62 100644
--- a/hw/cpu/arm11mpcore.c
+++ b/hw/cpu/arm11mpcore.c
@@ -161,11 +161,16 @@ static int mpcore_priv_init(SysBusDevice *sbd)
     return 0;
 }
 
+#define TYPE_REALVIEW_MPCORE_RIRQ "realview_mpcore"
+#define REALVIEW_MPCORE_RIRQ(obj) \
+    OBJECT_CHECK(mpcore_rirq_state, (obj), TYPE_REALVIEW_MPCORE_RIRQ)
+
 /* Dummy PIC to route IRQ lines.  The baseboard has 4 independent IRQ
    controllers.  The output of these, plus some of the raw input lines
    are fed into a single SMP-aware interrupt controller on the CPU.  */
 typedef struct {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     SysBusDevice *priv;
     qemu_irq cpuic[32];
     qemu_irq rvic[4][64];
@@ -196,9 +201,10 @@ static void mpcore_rirq_set_irq(void *opaque, int irq, int level)
     }
 }
 
-static int realview_mpcore_init(SysBusDevice *dev)
+static int realview_mpcore_init(SysBusDevice *sbd)
 {
-    mpcore_rirq_state *s = FROM_SYSBUS(mpcore_rirq_state, dev);
+    DeviceState *dev = DEVICE(sbd);
+    mpcore_rirq_state *s = REALVIEW_MPCORE_RIRQ(dev);
     DeviceState *gic;
     DeviceState *priv;
     int n;
@@ -208,7 +214,7 @@ static int realview_mpcore_init(SysBusDevice *dev)
     qdev_prop_set_uint32(priv, "num-cpu", s->num_cpu);
     qdev_init_nofail(priv);
     s->priv = SYS_BUS_DEVICE(priv);
-    sysbus_pass_irq(dev, s->priv);
+    sysbus_pass_irq(sbd, s->priv);
     for (i = 0; i < 32; i++) {
         s->cpuic[i] = qdev_get_gpio_in(priv, i);
     }
@@ -220,8 +226,8 @@ static int realview_mpcore_init(SysBusDevice *dev)
             s->rvic[n][i] = qdev_get_gpio_in(gic, i);
         }
     }
-    qdev_init_gpio_in(&dev->qdev, mpcore_rirq_set_irq, 64);
-    sysbus_init_mmio(dev, sysbus_mmio_get_region(s->priv, 0));
+    qdev_init_gpio_in(dev, mpcore_rirq_set_irq, 64);
+    sysbus_init_mmio(sbd, sysbus_mmio_get_region(s->priv, 0));
     return 0;
 }
 
@@ -240,7 +246,7 @@ static void mpcore_rirq_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo mpcore_rirq_info = {
-    .name          = "realview_mpcore",
+    .name          = TYPE_REALVIEW_MPCORE_RIRQ,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(mpcore_rirq_state),
     .class_init    = mpcore_rirq_class_init,
-- 
1.8.1.4

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

* Re: [Qemu-devel] [PATCH qom-next for-1.6 1/2] arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState
  2013-07-24 22:16 ` [Qemu-devel] [PATCH qom-next for-1.6 1/2] arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState Andreas Färber
@ 2013-07-26  2:22   ` Hu Tao
  0 siblings, 0 replies; 6+ messages in thread
From: Hu Tao @ 2013-07-26  2:22 UTC (permalink / raw)
  To: Andreas Färber; +Cc: Peter Maydell, qemu-devel, Paul Brook

On Thu, Jul 25, 2013 at 12:16:59AM +0200, Andreas Färber wrote:
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
>  hw/cpu/arm11mpcore.c | 22 ++++++++++++++--------
>  1 file changed, 14 insertions(+), 8 deletions(-)
 

Reviewed-by: Hu Tao <hutao@cn.fujitsu.com>

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

* Re: [Qemu-devel] [PATCH qom-next for-1.6 2/2] arm11mpcore: QOM cast cleanups for mpcore_rirq_state
  2013-07-24 22:17 ` [Qemu-devel] [PATCH qom-next for-1.6 2/2] arm11mpcore: QOM cast cleanups for mpcore_rirq_state Andreas Färber
@ 2013-07-26  2:22   ` Hu Tao
  0 siblings, 0 replies; 6+ messages in thread
From: Hu Tao @ 2013-07-26  2:22 UTC (permalink / raw)
  To: Andreas Färber; +Cc: Peter Maydell, qemu-devel, Paul Brook

On Thu, Jul 25, 2013 at 12:17:00AM +0200, Andreas Färber wrote:
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
>  hw/cpu/arm11mpcore.c | 20 +++++++++++++-------
>  1 file changed, 13 insertions(+), 7 deletions(-)
 
Reviewed-by: Hu Tao <hutao@cn.fujitsu.com>

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

* Re: [Qemu-devel] [PATCH qom-next for-1.6 0/2] cpu: QOM cast cleanups
  2013-07-24 22:16 [Qemu-devel] [PATCH qom-next for-1.6 0/2] cpu: QOM cast cleanups Andreas Färber
  2013-07-24 22:16 ` [Qemu-devel] [PATCH qom-next for-1.6 1/2] arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState Andreas Färber
  2013-07-24 22:17 ` [Qemu-devel] [PATCH qom-next for-1.6 2/2] arm11mpcore: QOM cast cleanups for mpcore_rirq_state Andreas Färber
@ 2013-07-26 22:21 ` Andreas Färber
  2 siblings, 0 replies; 6+ messages in thread
From: Andreas Färber @ 2013-07-26 22:21 UTC (permalink / raw)
  To: Hu Tao; +Cc: Peter Maydell, qemu-devel

Am 25.07.2013 00:16, schrieb Andreas Färber:
> Andreas Färber (2):
>   arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState
>   arm11mpcore: QOM cast cleanups for mpcore_rirq_state
> 
>  hw/cpu/arm11mpcore.c | 42 +++++++++++++++++++++++++++---------------
>  1 file changed, 27 insertions(+), 15 deletions(-)

Thanks, applied to qom-next:
https://github.com/afaerber/qemu-cpu/commits/qom-next

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

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

end of thread, other threads:[~2013-07-26 22:21 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-24 22:16 [Qemu-devel] [PATCH qom-next for-1.6 0/2] cpu: QOM cast cleanups Andreas Färber
2013-07-24 22:16 ` [Qemu-devel] [PATCH qom-next for-1.6 1/2] arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState Andreas Färber
2013-07-26  2:22   ` Hu Tao
2013-07-24 22:17 ` [Qemu-devel] [PATCH qom-next for-1.6 2/2] arm11mpcore: QOM cast cleanups for mpcore_rirq_state Andreas Färber
2013-07-26  2:22   ` Hu Tao
2013-07-26 22:21 ` [Qemu-devel] [PATCH qom-next for-1.6 0/2] cpu: QOM cast cleanups Andreas Färber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).