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 05/29] musicpal: QOM'ify mv88w8


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH qom-next for-1.6 05/29] musicpal: QOM'ify mv88w8618_eth_state
Date: Sat, 27 Jul 2013 16:07:42 +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:
> Introduce type constant and use QOM casts.
> 
> Signed-off-by: Andreas Färber <address@hidden>
> ---
>  hw/arm/musicpal.c | 13 ++++++++++---
>  1 file changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
> index b06d442..293ab26 100644
> --- a/hw/arm/musicpal.c
> +++ b/hw/arm/musicpal.c
> @@ -146,8 +146,15 @@ typedef struct mv88w8618_rx_desc {
>      uint32_t next;
>  } mv88w8618_rx_desc;
>  
> +#define TYPE_MV88W8618_ETH "mv88w8618_eth"
> +#define MV88W8618_ETH(obj) \
> +    OBJECT_CHECK(mv88w8618_eth_state, (obj), TYPE_MV88W8618_ETH)
> +
>  typedef struct mv88w8618_eth_state {
> -    SysBusDevice busdev;
> +    /*< private >*/
> +    SysBusDevice parent_obj;
> +    /*< public >*/
> +
>      MemoryRegion iomem;
>      qemu_irq irq;
>      uint32_t smir;
> @@ -384,7 +391,7 @@ static NetClientInfo net_mv88w8618_info = {
>  
>  static int mv88w8618_eth_init(SysBusDevice *dev)
>  {
> -    mv88w8618_eth_state *s = FROM_SYSBUS(mv88w8618_eth_state, dev);
> +    mv88w8618_eth_state *s = MV88W8618_ETH(dev);
>  
>      sysbus_init_irq(dev, &s->irq);
>      s->nic = qemu_new_nic(&net_mv88w8618_info, &s->conf,
[snip]

Needs the following addition.

Andreas

diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
index 6e8eb5d..6065051 100644
--- a/hw/arm/musicpal.c
+++ b/hw/arm/musicpal.c
@@ -389,16 +389,17 @@ static NetClientInfo net_mv88w8618_info = {
     .cleanup = eth_cleanup,
 };

-static int mv88w8618_eth_init(SysBusDevice *dev)
+static int mv88w8618_eth_init(SysBusDevice *sbd)
 {
+    DeviceState *dev = DEVICE(sbd);
     mv88w8618_eth_state *s = MV88W8618_ETH(dev);

-    sysbus_init_irq(dev, &s->irq);
+    sysbus_init_irq(sbd, &s->irq);
     s->nic = qemu_new_nic(&net_mv88w8618_info, &s->conf,
-                          object_get_typename(OBJECT(dev)),
dev->qdev.id, s);
+                          object_get_typename(OBJECT(dev)), dev->id, s);
     memory_region_init_io(&s->iomem, OBJECT(s), &mv88w8618_eth_ops, s,
                           "mv88w8618-eth", MP_ETH_SIZE);
-    sysbus_init_mmio(dev, &s->iomem);
+    sysbus_init_mmio(sbd, &s->iomem);
     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]