提交 a72dc5fc 编写于 作者: A Andreas Färber 提交者: Anthony Liguori

vga-isa: QOM'ify ISA VGA

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: NAndreas Färber <afaerber@suse.de>
Signed-off-by: NAndreas Färber <afaerber@suse.de>
Message-id: 1367093935-29091-18-git-send-email-afaerber@suse.de
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
上级 b582b5a3
......@@ -31,14 +31,18 @@
#include "qemu/timer.h"
#include "hw/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;
......@@ -75,26 +79,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 const 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)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册