vt82c686: QOMify

Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
This commit is contained in:
Gonglei 2015-05-13 08:43:27 +08:00 committed by Michael Tokarev
parent f9b9d292af
commit 417349e6e9

View File

@ -47,6 +47,10 @@ typedef struct VT82C686BState {
SuperIOConfig superio_conf; SuperIOConfig superio_conf;
} VT82C686BState; } VT82C686BState;
#define TYPE_VT82C686B_DEVICE "VT82C686B"
#define VT82C686B_DEVICE(obj) \
OBJECT_CHECK(VT82C686BState, (obj), TYPE_VT82C686B_DEVICE)
static void superio_ioport_writeb(void *opaque, hwaddr addr, uint64_t data, static void superio_ioport_writeb(void *opaque, hwaddr addr, uint64_t data,
unsigned size) unsigned size)
{ {
@ -114,7 +118,7 @@ static void vt82c686b_reset(void * opaque)
{ {
PCIDevice *d = opaque; PCIDevice *d = opaque;
uint8_t *pci_conf = d->config; uint8_t *pci_conf = d->config;
VT82C686BState *vt82c = DO_UPCAST(VT82C686BState, dev, d); VT82C686BState *vt82c = VT82C686B_DEVICE(d);
pci_set_long(pci_conf + PCI_CAPABILITY_LIST, 0x000000c0); pci_set_long(pci_conf + PCI_CAPABILITY_LIST, 0x000000c0);
pci_set_word(pci_conf + PCI_COMMAND, PCI_COMMAND_IO | PCI_COMMAND_MEMORY | pci_set_word(pci_conf + PCI_COMMAND, PCI_COMMAND_IO | PCI_COMMAND_MEMORY |
@ -142,7 +146,7 @@ static void vt82c686b_reset(void * opaque)
static void vt82c686b_write_config(PCIDevice * d, uint32_t address, static void vt82c686b_write_config(PCIDevice * d, uint32_t address,
uint32_t val, int len) uint32_t val, int len)
{ {
VT82C686BState *vt686 = DO_UPCAST(VT82C686BState, dev, d); VT82C686BState *vt686 = VT82C686B_DEVICE(d);
DPRINTF("vt82c686b_write_config address 0x%x val 0x%x len 0x%x\n", DPRINTF("vt82c686b_write_config address 0x%x val 0x%x len 0x%x\n",
address, val, len); address, val, len);
@ -172,6 +176,18 @@ typedef struct VT686MC97State {
PCIDevice dev; PCIDevice dev;
} VT686MC97State; } VT686MC97State;
#define TYPE_VT82C686B_PM_DEVICE "VT82C686B_PM"
#define VT82C686B_PM_DEVICE(obj) \
OBJECT_CHECK(VT686PMState, (obj), TYPE_VT82C686B_PM_DEVICE)
#define TYPE_VT82C686B_MC97_DEVICE "VT82C686B_MC97"
#define VT82C686B_MC97_DEVICE(obj) \
OBJECT_CHECK(VT686MC97State, (obj), TYPE_VT82C686B_MC97_DEVICE)
#define TYPE_VT82C686B_AC97_DEVICE "VT82C686B_AC97"
#define VT82C686B_AC97_DEVICE(obj) \
OBJECT_CHECK(VT686AC97State, (obj), TYPE_VT82C686B_AC97_DEVICE)
static void pm_update_sci(VT686PMState *s) static void pm_update_sci(VT686PMState *s)
{ {
int sci_level, pmsts; int sci_level, pmsts;
@ -247,7 +263,7 @@ static const VMStateDescription vmstate_acpi = {
static void vt82c686b_ac97_realize(PCIDevice *dev, Error **errp) static void vt82c686b_ac97_realize(PCIDevice *dev, Error **errp)
{ {
VT686AC97State *s = DO_UPCAST(VT686AC97State, dev, dev); VT686AC97State *s = VT82C686B_AC97_DEVICE(dev);
uint8_t *pci_conf = s->dev.config; uint8_t *pci_conf = s->dev.config;
pci_set_word(pci_conf + PCI_COMMAND, PCI_COMMAND_INVALIDATE | pci_set_word(pci_conf + PCI_COMMAND, PCI_COMMAND_INVALIDATE |
@ -261,7 +277,7 @@ void vt82c686b_ac97_init(PCIBus *bus, int devfn)
{ {
PCIDevice *dev; PCIDevice *dev;
dev = pci_create(bus, devfn, "VT82C686B_AC97"); dev = pci_create(bus, devfn, TYPE_VT82C686B_AC97_DEVICE);
qdev_init_nofail(&dev->qdev); qdev_init_nofail(&dev->qdev);
} }
@ -280,7 +296,7 @@ static void via_ac97_class_init(ObjectClass *klass, void *data)
} }
static const TypeInfo via_ac97_info = { static const TypeInfo via_ac97_info = {
.name = "VT82C686B_AC97", .name = TYPE_VT82C686B_AC97_DEVICE,
.parent = TYPE_PCI_DEVICE, .parent = TYPE_PCI_DEVICE,
.instance_size = sizeof(VT686AC97State), .instance_size = sizeof(VT686AC97State),
.class_init = via_ac97_class_init, .class_init = via_ac97_class_init,
@ -288,7 +304,7 @@ static const TypeInfo via_ac97_info = {
static void vt82c686b_mc97_realize(PCIDevice *dev, Error **errp) static void vt82c686b_mc97_realize(PCIDevice *dev, Error **errp)
{ {
VT686MC97State *s = DO_UPCAST(VT686MC97State, dev, dev); VT686MC97State *s = VT82C686B_MC97_DEVICE(dev);
uint8_t *pci_conf = s->dev.config; uint8_t *pci_conf = s->dev.config;
pci_set_word(pci_conf + PCI_COMMAND, PCI_COMMAND_INVALIDATE | pci_set_word(pci_conf + PCI_COMMAND, PCI_COMMAND_INVALIDATE |
@ -301,7 +317,7 @@ void vt82c686b_mc97_init(PCIBus *bus, int devfn)
{ {
PCIDevice *dev; PCIDevice *dev;
dev = pci_create(bus, devfn, "VT82C686B_MC97"); dev = pci_create(bus, devfn, TYPE_VT82C686B_MC97_DEVICE);
qdev_init_nofail(&dev->qdev); qdev_init_nofail(&dev->qdev);
} }
@ -320,7 +336,7 @@ static void via_mc97_class_init(ObjectClass *klass, void *data)
} }
static const TypeInfo via_mc97_info = { static const TypeInfo via_mc97_info = {
.name = "VT82C686B_MC97", .name = TYPE_VT82C686B_MC97_DEVICE,
.parent = TYPE_PCI_DEVICE, .parent = TYPE_PCI_DEVICE,
.instance_size = sizeof(VT686MC97State), .instance_size = sizeof(VT686MC97State),
.class_init = via_mc97_class_init, .class_init = via_mc97_class_init,
@ -329,7 +345,7 @@ static const TypeInfo via_mc97_info = {
/* vt82c686 pm init */ /* vt82c686 pm init */
static void vt82c686b_pm_realize(PCIDevice *dev, Error **errp) static void vt82c686b_pm_realize(PCIDevice *dev, Error **errp)
{ {
VT686PMState *s = DO_UPCAST(VT686PMState, dev, dev); VT686PMState *s = VT82C686B_PM_DEVICE(dev);
uint8_t *pci_conf; uint8_t *pci_conf;
pci_conf = s->dev.config; pci_conf = s->dev.config;
@ -365,10 +381,10 @@ I2CBus *vt82c686b_pm_init(PCIBus *bus, int devfn, uint32_t smb_io_base,
PCIDevice *dev; PCIDevice *dev;
VT686PMState *s; VT686PMState *s;
dev = pci_create(bus, devfn, "VT82C686B_PM"); dev = pci_create(bus, devfn, TYPE_VT82C686B_PM_DEVICE);
qdev_prop_set_uint32(&dev->qdev, "smb_io_base", smb_io_base); qdev_prop_set_uint32(&dev->qdev, "smb_io_base", smb_io_base);
s = DO_UPCAST(VT686PMState, dev, dev); s = VT82C686B_PM_DEVICE(dev);
qdev_init_nofail(&dev->qdev); qdev_init_nofail(&dev->qdev);
@ -398,7 +414,7 @@ static void via_pm_class_init(ObjectClass *klass, void *data)
} }
static const TypeInfo via_pm_info = { static const TypeInfo via_pm_info = {
.name = "VT82C686B_PM", .name = TYPE_VT82C686B_PM_DEVICE,
.parent = TYPE_PCI_DEVICE, .parent = TYPE_PCI_DEVICE,
.instance_size = sizeof(VT686PMState), .instance_size = sizeof(VT686PMState),
.class_init = via_pm_class_init, .class_init = via_pm_class_init,
@ -417,7 +433,7 @@ static const VMStateDescription vmstate_via = {
/* init the PCI-to-ISA bridge */ /* init the PCI-to-ISA bridge */
static void vt82c686b_realize(PCIDevice *d, Error **errp) static void vt82c686b_realize(PCIDevice *d, Error **errp)
{ {
VT82C686BState *vt82c = DO_UPCAST(VT82C686BState, dev, d); VT82C686BState *vt82c = VT82C686B_DEVICE(d);
uint8_t *pci_conf; uint8_t *pci_conf;
ISABus *isa_bus; ISABus *isa_bus;
uint8_t *wmask; uint8_t *wmask;
@ -451,7 +467,8 @@ ISABus *vt82c686b_init(PCIBus *bus, int devfn)
{ {
PCIDevice *d; PCIDevice *d;
d = pci_create_simple_multifunction(bus, devfn, true, "VT82C686B"); d = pci_create_simple_multifunction(bus, devfn, true,
TYPE_VT82C686B_DEVICE);
return ISA_BUS(qdev_get_child_bus(DEVICE(d), "isa.0")); return ISA_BUS(qdev_get_child_bus(DEVICE(d), "isa.0"));
} }
@ -477,7 +494,7 @@ static void via_class_init(ObjectClass *klass, void *data)
} }
static const TypeInfo via_info = { static const TypeInfo via_info = {
.name = "VT82C686B", .name = TYPE_VT82C686B_DEVICE,
.parent = TYPE_PCI_DEVICE, .parent = TYPE_PCI_DEVICE,
.instance_size = sizeof(VT82C686BState), .instance_size = sizeof(VT82C686BState),
.class_init = via_class_init, .class_init = via_class_init,