Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaer...@suse.de> --- hw/sb16.c | 16 +++++++++------- 1 Datei geändert, 9 Zeilen hinzugefügt(+), 7 Zeilen entfernt(-) diff --git a/hw/sb16.c b/hw/sb16.c index 523ab0d..b7e93a4 100644 --- a/hw/sb16.c +++ b/hw/sb16.c @@ -47,8 +47,12 @@ static const char e3[] = "COPYRIGHT (C) CREATIVE TECHNOLOGY LTD, 1992."; +#define TYPE_SB16 "sb16" +#define SB16(obj) OBJECT_CHECK (SB16State, (obj), TYPE_SB16) + typedef struct SB16State { - ISADevice dev; + ISADevice parent_obj; + QEMUSoundCard card; qemu_irq pic; uint32_t irq; @@ -1354,9 +1358,7 @@ static const MemoryRegionPortio sb16_ioport_list[] = { static int sb16_initfn (ISADevice *dev) { - SB16State *s; - - s = DO_UPCAST (SB16State, dev, dev); + SB16State *s = SB16 (dev); s->cmd = -1; isa_init_irq (dev, &s->pic, s->irq); @@ -1386,7 +1388,7 @@ static int sb16_initfn (ISADevice *dev) int SB16_init (ISABus *bus) { - isa_create_simple (bus, "sb16"); + isa_create_simple (bus, TYPE_SB16); return 0; } @@ -1409,8 +1411,8 @@ static void sb16_class_initfn (ObjectClass *klass, void *data) dc->props = sb16_properties; } -static TypeInfo sb16_info = { - .name = "sb16", +static const TypeInfo sb16_info = { + .name = TYPE_SB16, .parent = TYPE_ISA_DEVICE, .instance_size = sizeof (SB16State), .class_init = sb16_class_initfn, -- 1.7.10.4