Kaynağa Gözat

gus: QOM'ify some more

Add type constant and cast macro.

Signed-off-by: Andreas Färber <afaerber@suse.de>
Andreas Färber 12 yıl önce
ebeveyn
işleme
11c7549d83
1 değiştirilmiş dosya ile 6 ekleme ve 3 silme
  1. 6 3
      hw/audio/gus.c

+ 6 - 3
hw/audio/gus.c

@@ -46,6 +46,9 @@
 #define IO_WRITE_PROTO(name) \
 #define IO_WRITE_PROTO(name) \
     static void name (void *opaque, uint32_t nport, uint32_t val)
     static void name (void *opaque, uint32_t nport, uint32_t val)
 
 
+#define TYPE_GUS "gus"
+#define GUS(obj) OBJECT_CHECK (GUSState, (obj), TYPE_GUS)
+
 typedef struct GUSState {
 typedef struct GUSState {
     ISADevice dev;
     ISADevice dev;
     GUSEmuState emu;
     GUSEmuState emu;
@@ -250,7 +253,7 @@ static const MemoryRegionPortio gus_portio_list2[] = {
 
 
 static int gus_initfn (ISADevice *dev)
 static int gus_initfn (ISADevice *dev)
 {
 {
-    GUSState *s = DO_UPCAST (GUSState, dev, dev);
+    GUSState *s = GUS (dev);
     struct audsettings as;
     struct audsettings as;
 
 
     AUD_register_card ("gus", &s->card);
     AUD_register_card ("gus", &s->card);
@@ -295,7 +298,7 @@ static int gus_initfn (ISADevice *dev)
 
 
 static int GUS_init (ISABus *bus)
 static int GUS_init (ISABus *bus)
 {
 {
-    isa_create_simple (bus, "gus");
+    isa_create_simple (bus, TYPE_GUS);
     return 0;
     return 0;
 }
 }
 
 
@@ -318,7 +321,7 @@ static void gus_class_initfn (ObjectClass *klass, void *data)
 }
 }
 
 
 static const TypeInfo gus_info = {
 static const TypeInfo gus_info = {
-    .name          = "gus",
+    .name          = TYPE_GUS,
     .parent        = TYPE_ISA_DEVICE,
     .parent        = TYPE_ISA_DEVICE,
     .instance_size = sizeof (GUSState),
     .instance_size = sizeof (GUSState),
     .class_init    = gus_class_initfn,
     .class_init    = gus_class_initfn,