qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH qom-next for-1.6 20/29] stellaris: QOM'ify gptm_


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH qom-next for-1.6 20/29] stellaris: QOM'ify gptm_state
Date: Sat, 27 Jul 2013 16:15:44 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130620 Thunderbird/17.0.7

Am 24.07.2013 09:48, schrieb Andreas Färber:
> Signed-off-by: Andreas Färber <address@hidden>
> ---
>  hw/arm/stellaris.c | 13 +++++++++----
>  1 file changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c
> index a2b6b17..1c69bcf 100644
> --- a/hw/arm/stellaris.c
> +++ b/hw/arm/stellaris.c
> @@ -43,8 +43,13 @@ typedef const struct {
>  
>  /* General purpose timer module.  */
>  
> +#define TYPE_STELLARIS_GPTM "stellaris-gptm"
> +#define STELLARIS_GPTM(obj) \
> +    OBJECT_CHECK(gptm_state, (obj), TYPE_STELLARIS_GPTM)
> +
>  typedef struct gptm_state {
> -    SysBusDevice busdev;
> +    SysBusDevice parent_obj;
> +
>      MemoryRegion iomem;
>      uint32_t config;
>      uint32_t mode[2];
> @@ -302,7 +307,7 @@ static const VMStateDescription vmstate_stellaris_gptm = {
>  
>  static int stellaris_gptm_init(SysBusDevice *dev)
>  {
> -    gptm_state *s = FROM_SYSBUS(gptm_state, dev);
> +    gptm_state *s = STELLARIS_GPTM(dev);
>  
>      sysbus_init_irq(dev, &s->irq);
>      qdev_init_gpio_out(&dev->qdev, &s->trigger, 1);
[snip]

Needs the following addition.

Andreas

diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c
index 27205d0..79f6b4e 100644
--- a/hw/arm/stellaris.c
+++ b/hw/arm/stellaris.c
@@ -305,21 +305,22 @@ static const VMStateDescription
vmstate_stellaris_gptm = {
     }
 };

-static int stellaris_gptm_init(SysBusDevice *dev)
+static int stellaris_gptm_init(SysBusDevice *sbd)
 {
+    DeviceState *dev = DEVICE(sbd);
     gptm_state *s = STELLARIS_GPTM(dev);

-    sysbus_init_irq(dev, &s->irq);
-    qdev_init_gpio_out(&dev->qdev, &s->trigger, 1);
+    sysbus_init_irq(sbd, &s->irq);
+    qdev_init_gpio_out(dev, &s->trigger, 1);

     memory_region_init_io(&s->iomem, OBJECT(s), &gptm_ops, s,
                           "gptm", 0x1000);
-    sysbus_init_mmio(dev, &s->iomem);
+    sysbus_init_mmio(sbd, &s->iomem);

     s->opaque[0] = s->opaque[1] = s;
     s->timer[0] = qemu_new_timer_ns(vm_clock, gptm_tick, &s->opaque[0]);
     s->timer[1] = qemu_new_timer_ns(vm_clock, gptm_tick, &s->opaque[1]);
-    vmstate_register(&dev->qdev, -1, &vmstate_stellaris_gptm, s);
+    vmstate_register(dev, -1, &vmstate_stellaris_gptm, s);
     return 0;
 }




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



reply via email to

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