qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH][RFC 10/14] piix4: refactor piix4's power callbacks


From: liguang
Subject: [Qemu-devel] [PATCH][RFC 10/14] piix4: refactor piix4's power callbacks
Date: Wed, 13 Mar 2013 16:01:17 +0800

Signed-off-by: liguang <address@hidden>
---
 hw/piix4.c |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/hw/piix4.c b/hw/piix4.c
index c1cb94d..1066149 100644
--- a/hw/piix4.c
+++ b/hw/piix4.c
@@ -34,7 +34,7 @@ typedef struct PIIX4State {
     PCIDevice dev;
 } PIIX4State;
 
-static void piix4_reset(void *opaque)
+static void piix4_config_reset(void *opaque)
 {
     PIIX4State *d = opaque;
     uint8_t *pci_conf = d->dev.config;
@@ -72,6 +72,14 @@ static void piix4_reset(void *opaque)
     pci_conf[0xae] = 0x00;
 }
 
+static void piix4_dev_reset(DeviceState *dev)
+{
+    PCIDevice *d = PCI_DEVICE(dev);
+    PIIX4State *ps = DO_UPCAST(PIIX4State, dev, d);
+
+    piix4_config_reset(ps);
+}
+
 static const VMStateDescription vmstate_piix4 = {
     .name = "PIIX4",
     .version_id = 2,
@@ -89,7 +97,7 @@ static int piix4_initfn(PCIDevice *dev)
 
     isa_bus_new(&d->dev.qdev, pci_address_space_io(dev));
     piix4_dev = &d->dev;
-    qemu_register_reset(piix4_reset, d);
+
     return 0;
 }
 
@@ -115,6 +123,8 @@ static void piix4_class_init(ObjectClass *klass, void *data)
     dc->desc = "ISA bridge";
     dc->no_user = 1;
     dc->vmsd = &vmstate_piix4;
+    dc->reset = piix4_dev_reset;
+    dc->on = piix4_dev_reset;
 }
 
 static const TypeInfo piix4_info = {
-- 
1.7.2.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]