From patchwork Mon Nov 26 00:12:36 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [RFC,24/34] vga-isa: QOM'ify ISA VGA Date: Sun, 25 Nov 2012 14:12:36 -0000 From: =?utf-8?q?Andreas_F=C3=A4rber?= X-Patchwork-Id: 201611 Message-Id: <1353888766-6951-25-git-send-email-afaerber@suse.de> To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Andreas=20F=C3=A4rber?= , anthony@codemonkey.ws Introduce type constant and cast macro to obsolete DO_UPCAST() and container_of(). Prepares for ISA realizefn. Unify function naming scheme while at it. Signed-off-by: Andreas Färber --- hw/vga-isa.c | 29 +++++++++++++++++------------ 1 Datei geändert, 17 Zeilen hinzugefügt(+), 12 Zeilen entfernt(-) diff --git a/hw/vga-isa.c b/hw/vga-isa.c index 046602b..f177c48 100644 --- a/hw/vga-isa.c +++ b/hw/vga-isa.c @@ -31,14 +31,18 @@ #include "qemu-timer.h" #include "loader.h" +#define TYPE_ISA_VGA "isa-vga" +#define ISA_VGA(obj) OBJECT_CHECK(ISAVGAState, (obj), TYPE_ISA_VGA) + typedef struct ISAVGAState { - ISADevice dev; + ISADevice parent_obj; + struct VGACommonState state; } ISAVGAState; -static void vga_reset_isa(DeviceState *dev) +static void vga_isa_reset(DeviceState *dev) { - ISAVGAState *d = container_of(dev, ISAVGAState, dev.qdev); + ISAVGAState *d = ISA_VGA(dev); VGACommonState *s = &d->state; vga_common_reset(s); @@ -46,7 +50,7 @@ static void vga_reset_isa(DeviceState *dev) static int vga_initfn(ISADevice *dev) { - ISAVGAState *d = DO_UPCAST(ISAVGAState, dev, dev); + ISAVGAState *d = ISA_VGA(dev); VGACommonState *s = &d->state; MemoryRegion *vga_io_memory; const MemoryRegionPortio *vga_ports, *vbe_ports; @@ -76,26 +80,27 @@ static Property vga_isa_properties[] = { DEFINE_PROP_END_OF_LIST(), }; -static void vga_class_initfn(ObjectClass *klass, void *data) +static void vga_isa_class_initfn(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); ISADeviceClass *ic = ISA_DEVICE_CLASS(klass); + ic->init = vga_initfn; - dc->reset = vga_reset_isa; + dc->reset = vga_isa_reset; dc->vmsd = &vmstate_vga_common; dc->props = vga_isa_properties; } -static TypeInfo vga_info = { - .name = "isa-vga", +static const TypeInfo vga_isa_info = { + .name = TYPE_ISA_VGA, .parent = TYPE_ISA_DEVICE, .instance_size = sizeof(ISAVGAState), - .class_init = vga_class_initfn, + .class_init = vga_isa_class_initfn, }; -static void vga_register_types(void) +static void vga_isa_register_types(void) { - type_register_static(&vga_info); + type_register_static(&vga_isa_info); } -type_init(vga_register_types) +type_init(vga_isa_register_types)