Am 24.07.2013 09:48, schrieb Andreas Färber: > Introduce type constant and use QOM casts. > > Signed-off-by: Andreas Färber <afaer...@suse.de> > --- > 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