All of lore.kernel.org
 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 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.