qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <aliguori@us.ibm.com>
To: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Anthony Liguori <aliguori@us.ibm.com>,
	Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
	Jan Kiszka <jan.kiszka@siemens.com>,
	Markus Armbruster <armbru@redhat.com>,
	Luiz Capitulino <lcapitulino@redhat.com>
Subject: [Qemu-devel] [PATCH v3 042/197] isa: move methods from isadeviceinfo to isadeviceclass
Date: Mon, 12 Dec 2011 14:18:38 -0600	[thread overview]
Message-ID: <1323721273-32404-43-git-send-email-aliguori@us.ibm.com> (raw)
In-Reply-To: <1323721273-32404-1-git-send-email-aliguori@us.ibm.com>

---
 hw/applesmc.c    |    8 +++++++-
 hw/cs4231a.c     |    8 +++++++-
 hw/debugcon.c    |    8 +++++++-
 hw/fdc.c         |    8 +++++++-
 hw/gus.c         |    8 +++++++-
 hw/i8254.c       |    8 +++++++-
 hw/i8259.c       |    8 +++++++-
 hw/ide/isa.c     |    8 +++++++-
 hw/isa-bus.c     |    8 ++++++--
 hw/isa.h         |    3 +--
 hw/m48t59.c      |    8 +++++++-
 hw/mc146818rtc.c |    8 +++++++-
 hw/ne2000-isa.c  |    8 +++++++-
 hw/parallel.c    |    8 +++++++-
 hw/pc.c          |    8 +++++++-
 hw/pckbd.c       |    8 +++++++-
 hw/sb16.c        |    8 +++++++-
 hw/serial.c      |    8 +++++++-
 hw/sga.c         |    8 +++++++-
 hw/vga-isa.c     |    8 +++++++-
 hw/vmmouse.c     |    8 +++++++-
 hw/vmport.c      |    8 +++++++-
 hw/wdt_ib700.c   |    8 +++++++-
 23 files changed, 154 insertions(+), 25 deletions(-)

diff --git a/hw/applesmc.c b/hw/applesmc.c
index c47b592..279c4d3 100644
--- a/hw/applesmc.c
+++ b/hw/applesmc.c
@@ -220,11 +220,17 @@ static int applesmc_isa_init(ISADevice *dev)
     return 0;
 }
 
+static void qdev_applesmc_class_init(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = applesmc_isa_init;
+}
+
 static ISADeviceInfo applesmc_isa_info = {
     .qdev.name  = "isa-applesmc",
     .qdev.size  = sizeof(struct AppleSMCStatus),
     .qdev.reset = qdev_applesmc_isa_reset,
-    .init       = applesmc_isa_init,
+    .qdev.class_init = qdev_applesmc_class_init,
     .qdev.props = (Property[]) {
         DEFINE_PROP_HEX32("iobase", struct AppleSMCStatus, iobase,
                           APPLESMC_DEFAULT_IOBASE),
diff --git a/hw/cs4231a.c b/hw/cs4231a.c
index a7e03a3..25af773 100644
--- a/hw/cs4231a.c
+++ b/hw/cs4231a.c
@@ -665,12 +665,18 @@ int cs4231a_init (qemu_irq *pic)
     return 0;
 }
 
+static void cs4231a_class_initfn(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = cs4231a_initfn;
+}
+
 static ISADeviceInfo cs4231a_info = {
     .qdev.name     = "cs4231a",
     .qdev.desc     = "Crystal Semiconductor CS4231A",
     .qdev.size     = sizeof (CSState),
     .qdev.vmsd     = &vmstate_cs4231a,
-    .init          = cs4231a_initfn,
+    .qdev.class_init = cs4231a_class_initfn,
     .qdev.props    = (Property[]) {
         DEFINE_PROP_HEX32  ("iobase",  CSState, port, 0x534),
         DEFINE_PROP_UINT32 ("irq",     CSState, irq,  9),
diff --git a/hw/debugcon.c b/hw/debugcon.c
index c9ee6d9..1490bfa 100644
--- a/hw/debugcon.c
+++ b/hw/debugcon.c
@@ -87,10 +87,16 @@ static int debugcon_isa_initfn(ISADevice *dev)
     return 0;
 }
 
+static void debugcon_isa_class_initfn(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = debugcon_isa_initfn;
+}
+
 static ISADeviceInfo debugcon_isa_info = {
     .qdev.name  = "isa-debugcon",
     .qdev.size  = sizeof(ISADebugconState),
-    .init       = debugcon_isa_initfn,
+    .qdev.class_init = debugcon_isa_class_initfn,
     .qdev.props = (Property[]) {
         DEFINE_PROP_HEX32("iobase", ISADebugconState, iobase, 0xe9),
         DEFINE_PROP_CHR("chardev",  ISADebugconState, state.chr),
diff --git a/hw/fdc.c b/hw/fdc.c
index ecaad09..dfeb138 100644
--- a/hw/fdc.c
+++ b/hw/fdc.c
@@ -1969,8 +1969,14 @@ static const VMStateDescription vmstate_isa_fdc ={
     }
 };
 
+static void isabus_fdc_class_init1(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = isabus_fdc_init1;
+}
+
 static ISADeviceInfo isa_fdc_info = {
-    .init = isabus_fdc_init1,
+    .qdev.class_init = isabus_fdc_class_init1,
     .qdev.name  = "isa-fdc",
     .qdev.fw_name  = "fdc",
     .qdev.size  = sizeof(FDCtrlISABus),
diff --git a/hw/gus.c b/hw/gus.c
index b5eb548..49e0d16 100644
--- a/hw/gus.c
+++ b/hw/gus.c
@@ -299,12 +299,18 @@ int GUS_init (qemu_irq *pic)
     return 0;
 }
 
+static void gus_class_initfn(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = gus_initfn;
+}
+
 static ISADeviceInfo gus_info = {
     .qdev.name     = "gus",
     .qdev.desc     = "Gravis Ultrasound GF1",
     .qdev.size     = sizeof (GUSState),
     .qdev.vmsd     = &vmstate_gus,
-    .init          = gus_initfn,
+    .qdev.class_init          = gus_class_initfn,
     .qdev.props    = (Property[]) {
         DEFINE_PROP_UINT32 ("freq",    GUSState, freq,        44100),
         DEFINE_PROP_HEX32  ("iobase",  GUSState, port,        0x240),
diff --git a/hw/i8254.c b/hw/i8254.c
index 12571ef..5d10206 100644
--- a/hw/i8254.c
+++ b/hw/i8254.c
@@ -535,13 +535,19 @@ static int pit_initfn(ISADevice *dev)
     return 0;
 }
 
+static void pit_class_initfn(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = pit_initfn;
+}
+
 static ISADeviceInfo pit_info = {
     .qdev.name     = "isa-pit",
     .qdev.size     = sizeof(PITState),
     .qdev.vmsd     = &vmstate_pit,
     .qdev.reset    = pit_reset,
     .qdev.no_user  = 1,
-    .init          = pit_initfn,
+    .qdev.class_init          = pit_class_initfn,
     .qdev.props = (Property[]) {
         DEFINE_PROP_UINT32("irq", PITState, irq,  -1),
         DEFINE_PROP_HEX32("iobase", PITState, iobase,  -1),
diff --git a/hw/i8259.c b/hw/i8259.c
index ab519de..da34f2b 100644
--- a/hw/i8259.c
+++ b/hw/i8259.c
@@ -556,13 +556,19 @@ qemu_irq *i8259_init(qemu_irq parent_irq)
     return irq_set;
 }
 
+static void pic_class_initfn(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = pic_initfn;
+}
+
 static ISADeviceInfo i8259_info = {
     .qdev.name     = "isa-i8259",
     .qdev.size     = sizeof(PicState),
     .qdev.vmsd     = &vmstate_pic,
     .qdev.reset    = pic_reset,
     .qdev.no_user  = 1,
-    .init          = pic_initfn,
+    .qdev.class_init          = pic_class_initfn,
     .qdev.props = (Property[]) {
         DEFINE_PROP_HEX32("iobase", PicState, iobase,  -1),
         DEFINE_PROP_HEX32("elcr_addr", PicState, elcr_addr,  -1),
diff --git a/hw/ide/isa.c b/hw/ide/isa.c
index 01a9e59..aeca96d 100644
--- a/hw/ide/isa.c
+++ b/hw/ide/isa.c
@@ -94,11 +94,17 @@ ISADevice *isa_ide_init(int iobase, int iobase2, int isairq,
     return dev;
 }
 
+static void isa_ide_class_initfn(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = isa_ide_initfn;
+}
+
 static ISADeviceInfo isa_ide_info = {
     .qdev.name  = "isa-ide",
     .qdev.fw_name  = "ide",
     .qdev.size  = sizeof(ISAIDEState),
-    .init       = isa_ide_initfn,
+    .qdev.class_init       = isa_ide_class_initfn,
     .qdev.reset = isa_ide_reset,
     .qdev.props = (Property[]) {
         DEFINE_PROP_HEX32("iobase",  ISAIDEState, iobase,  0x1f0),
diff --git a/hw/isa-bus.c b/hw/isa-bus.c
index 50131f7..9d02919 100644
--- a/hw/isa-bus.c
+++ b/hw/isa-bus.c
@@ -114,12 +114,16 @@ void isa_register_portio_list(ISADevice *dev, uint16_t start,
 static int isa_qdev_init(DeviceState *qdev, DeviceInfo *base)
 {
     ISADevice *dev = ISA_DEVICE(qdev);
-    ISADeviceInfo *info = DO_UPCAST(ISADeviceInfo, qdev, base);
+    ISADeviceClass *klass = ISA_DEVICE_GET_CLASS(dev);
 
     dev->isairq[0] = -1;
     dev->isairq[1] = -1;
 
-    return info->init(dev);
+    if (klass->init) {
+        return klass->init(dev);
+    }
+
+    return 0;
 }
 
 void isa_qdev_register(ISADeviceInfo *info)
diff --git a/hw/isa.h b/hw/isa.h
index d5fd7d7..a1afc7b 100644
--- a/hw/isa.h
+++ b/hw/isa.h
@@ -23,6 +23,7 @@ typedef struct ISADeviceInfo ISADeviceInfo;
 
 typedef struct ISADeviceClass {
     DeviceClass parent_class;
+    int (*init)(ISADevice *dev);
 } ISADeviceClass;
 
 struct ISADevice {
@@ -32,10 +33,8 @@ struct ISADevice {
     int ioport_id;
 };
 
-typedef int (*isa_qdev_initfn)(ISADevice *dev);
 struct ISADeviceInfo {
     DeviceInfo qdev;
-    isa_qdev_initfn init;
 };
 
 ISABus *isa_bus_new(DeviceState *dev, MemoryRegion *address_space_io);
diff --git a/hw/m48t59.c b/hw/m48t59.c
index a77937e..e58b48f 100644
--- a/hw/m48t59.c
+++ b/hw/m48t59.c
@@ -724,8 +724,14 @@ static int m48t59_init1(SysBusDevice *dev)
     return 0;
 }
 
+static void m48t59_init_class_isa1(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = m48t59_init_isa1;
+}
+
 static ISADeviceInfo m48t59_isa_info = {
-    .init = m48t59_init_isa1,
+    .qdev.class_init = m48t59_init_class_isa1,
     .qdev.name = "m48t59_isa",
     .qdev.size = sizeof(M48t59ISAState),
     .qdev.reset = m48t59_reset_isa,
diff --git a/hw/mc146818rtc.c b/hw/mc146818rtc.c
index d5b737a..e2acf12 100644
--- a/hw/mc146818rtc.c
+++ b/hw/mc146818rtc.c
@@ -694,12 +694,18 @@ ISADevice *rtc_init(int base_year, qemu_irq intercept_irq)
     return dev;
 }
 
+static void rtc_class_initfn(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = rtc_initfn;
+}
+
 static ISADeviceInfo mc146818rtc_info = {
     .qdev.name     = "mc146818rtc",
     .qdev.size     = sizeof(RTCState),
     .qdev.no_user  = 1,
     .qdev.vmsd     = &vmstate_rtc,
-    .init          = rtc_initfn,
+    .qdev.class_init          = rtc_class_initfn,
     .qdev.props    = (Property[]) {
         DEFINE_PROP_INT32("base_year", RTCState, base_year, 1980),
         DEFINE_PROP_END_OF_LIST(),
diff --git a/hw/ne2000-isa.c b/hw/ne2000-isa.c
index 9e89256..da86a61 100644
--- a/hw/ne2000-isa.c
+++ b/hw/ne2000-isa.c
@@ -82,10 +82,16 @@ static int isa_ne2000_initfn(ISADevice *dev)
     return 0;
 }
 
+static void isa_ne2000_class_initfn(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = isa_ne2000_initfn;
+}
+
 static ISADeviceInfo ne2000_isa_info = {
     .qdev.name  = "ne2k_isa",
     .qdev.size  = sizeof(ISANE2000State),
-    .init       = isa_ne2000_initfn,
+    .qdev.class_init       = isa_ne2000_class_initfn,
     .qdev.props = (Property[]) {
         DEFINE_PROP_HEX32("iobase", ISANE2000State, iobase, 0x300),
         DEFINE_PROP_UINT32("irq",   ISANE2000State, isairq, 9),
diff --git a/hw/parallel.c b/hw/parallel.c
index 8494d94..ac7dc46 100644
--- a/hw/parallel.c
+++ b/hw/parallel.c
@@ -586,10 +586,16 @@ bool parallel_mm_init(target_phys_addr_t base, int it_shift, qemu_irq irq,
     return true;
 }
 
+static void parallel_isa_class_initfn(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = parallel_isa_initfn;
+}
+
 static ISADeviceInfo parallel_isa_info = {
     .qdev.name  = "isa-parallel",
     .qdev.size  = sizeof(ISAParallelState),
-    .init       = parallel_isa_initfn,
+    .qdev.class_init       = parallel_isa_class_initfn,
     .qdev.props = (Property[]) {
         DEFINE_PROP_UINT32("index", ISAParallelState, index,   -1),
         DEFINE_PROP_HEX32("iobase", ISAParallelState, iobase,  -1),
diff --git a/hw/pc.c b/hw/pc.c
index 47e6fb9..4e4dc6d 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -496,13 +496,19 @@ static int port92_initfn(ISADevice *dev)
     return 0;
 }
 
+static void port92_class_initfn(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = port92_initfn;
+}
+
 static ISADeviceInfo port92_info = {
     .qdev.name     = "port92",
     .qdev.size     = sizeof(Port92State),
     .qdev.vmsd     = &vmstate_port92_isa,
     .qdev.no_user  = 1,
     .qdev.reset    = port92_reset,
-    .init          = port92_initfn,
+    .qdev.class_init          = port92_class_initfn,
 };
 
 static void port92_register(void)
diff --git a/hw/pckbd.c b/hw/pckbd.c
index 06b40c5..fe5cc6e 100644
--- a/hw/pckbd.c
+++ b/hw/pckbd.c
@@ -497,12 +497,18 @@ static int i8042_initfn(ISADevice *dev)
     return 0;
 }
 
+static void i8042_class_initfn(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = i8042_initfn;
+}
+
 static ISADeviceInfo i8042_info = {
     .qdev.name     = "i8042",
     .qdev.size     = sizeof(ISAKBDState),
     .qdev.vmsd     = &vmstate_kbd_isa,
     .qdev.no_user  = 1,
-    .init          = i8042_initfn,
+    .qdev.class_init          = i8042_class_initfn,
 };
 
 static void i8042_register(void)
diff --git a/hw/sb16.c b/hw/sb16.c
index f0658ac..f7a6b7e 100644
--- a/hw/sb16.c
+++ b/hw/sb16.c
@@ -1391,12 +1391,18 @@ int SB16_init (qemu_irq *pic)
     return 0;
 }
 
+static void sb16_class_initfn(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = sb16_initfn;
+}
+
 static ISADeviceInfo sb16_info = {
     .qdev.name     = "sb16",
     .qdev.desc     = "Creative Sound Blaster 16",
     .qdev.size     = sizeof (SB16State),
     .qdev.vmsd     = &vmstate_sb16,
-    .init          = sb16_initfn,
+    .qdev.class_init          = sb16_class_initfn,
     .qdev.props    = (Property[]) {
         DEFINE_PROP_HEX32  ("version", SB16State, ver,  0x0405), /* 4.5 */
         DEFINE_PROP_HEX32  ("iobase",  SB16State, port, 0x220),
diff --git a/hw/serial.c b/hw/serial.c
index d35c7a9..74ed5fe 100644
--- a/hw/serial.c
+++ b/hw/serial.c
@@ -879,11 +879,17 @@ SerialState *serial_mm_init(MemoryRegion *address_space,
     return s;
 }
 
+static void serial_isa_class_initfn(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = serial_isa_initfn;
+}
+
 static ISADeviceInfo serial_isa_info = {
     .qdev.name  = "isa-serial",
     .qdev.size  = sizeof(ISASerialState),
     .qdev.vmsd  = &vmstate_isa_serial,
-    .init       = serial_isa_initfn,
+    .qdev.class_init       = serial_isa_class_initfn,
     .qdev.props = (Property[]) {
         DEFINE_PROP_UINT32("index", ISASerialState, index,   -1),
         DEFINE_PROP_HEX32("iobase", ISASerialState, iobase,  -1),
diff --git a/hw/sga.c b/hw/sga.c
index 7ef750a..6801995 100644
--- a/hw/sga.c
+++ b/hw/sga.c
@@ -41,11 +41,17 @@ static int isa_cirrus_vga_initfn(ISADevice *dev)
     return 0;
 }
 
+static void isa_cirrus_vga_class_initfn(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = isa_cirrus_vga_initfn;
+}
+
 static ISADeviceInfo sga_info = {
     .qdev.name    = "sga",
     .qdev.desc    = "Serial Graphics Adapter",
     .qdev.size    = sizeof(ISASGAState),
-    .init         = isa_cirrus_vga_initfn,
+    .qdev.class_init         = isa_cirrus_vga_class_initfn,
 };
 
 static void sga_register(void)
diff --git a/hw/vga-isa.c b/hw/vga-isa.c
index 4825313..ba7f9bf 100644
--- a/hw/vga-isa.c
+++ b/hw/vga-isa.c
@@ -69,12 +69,18 @@ static int vga_initfn(ISADevice *dev)
     return 0;
 }
 
+static void vga_class_initfn(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = vga_initfn;
+}
+
 static ISADeviceInfo vga_info = {
     .qdev.name     = "isa-vga",
     .qdev.size     = sizeof(ISAVGAState),
     .qdev.vmsd     = &vmstate_vga_common,
     .qdev.reset     = vga_reset_isa,
-    .init          = vga_initfn,
+    .qdev.class_init          = vga_class_initfn,
 };
 
 static void vga_register(void)
diff --git a/hw/vmmouse.c b/hw/vmmouse.c
index 1113f33..f936089 100644
--- a/hw/vmmouse.c
+++ b/hw/vmmouse.c
@@ -269,8 +269,14 @@ static int vmmouse_initfn(ISADevice *dev)
     return 0;
 }
 
+static void vmmouse_class_initfn(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = vmmouse_initfn;
+}
+
 static ISADeviceInfo vmmouse_info = {
-    .init          = vmmouse_initfn,
+    .qdev.class_init          = vmmouse_class_initfn,
     .qdev.name     = "vmmouse",
     .qdev.size     = sizeof(VMMouseState),
     .qdev.vmsd     = &vmstate_vmmouse,
diff --git a/hw/vmport.c b/hw/vmport.c
index b5c6fa1..7468812 100644
--- a/hw/vmport.c
+++ b/hw/vmport.c
@@ -144,11 +144,17 @@ static int vmport_initfn(ISADevice *dev)
     return 0;
 }
 
+static void vmport_class_initfn(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = vmport_initfn;
+}
+
 static ISADeviceInfo vmport_info = {
     .qdev.name     = "vmport",
     .qdev.size     = sizeof(VMPortState),
     .qdev.no_user  = 1,
-    .init          = vmport_initfn,
+    .qdev.class_init          = vmport_class_initfn,
 };
 
 static void vmport_dev_register(void)
diff --git a/hw/wdt_ib700.c b/hw/wdt_ib700.c
index 81f22d0..3869e91 100644
--- a/hw/wdt_ib700.c
+++ b/hw/wdt_ib700.c
@@ -120,12 +120,18 @@ static WatchdogTimerModel model = {
     .wdt_description = "iBASE 700",
 };
 
+static void wdt_ib700_class_init(ObjectClass *klass, void *data)
+{
+    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
+    ic->init = wdt_ib700_init;
+}
+
 static ISADeviceInfo wdt_ib700_info = {
     .qdev.name  = "ib700",
     .qdev.size  = sizeof(IB700State),
     .qdev.vmsd  = &vmstate_ib700,
     .qdev.reset = wdt_ib700_reset,
-    .init       = wdt_ib700_init,
+    .qdev.class_init       = wdt_ib700_class_init,
 };
 
 static void wdt_ib700_register_devices(void)
-- 
1.7.4.1

  parent reply	other threads:[~2011-12-12 20:25 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-12 20:17 [Qemu-devel] [PATCH v3 000/197] qom: dynamic properties and composition tree (v2) Anthony Liguori
2011-12-12 20:17 ` [Qemu-devel] [PATCH v3 001/197] qom: add a reference count to qdev objects Anthony Liguori
2011-12-12 20:28   ` Anthony Liguori
2011-12-12 20:17 ` [Qemu-devel] [PATCH v3 002/197] qom: add new dynamic property infrastructure based on Visitors (v2) Anthony Liguori
2011-12-12 20:17 ` [Qemu-devel] [PATCH v3 003/197] qom: register legacy properties as new style properties (v2) Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 004/197] qom: introduce root device Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 005/197] qdev: provide an interface to return canonical path from root (v2) Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 006/197] qdev: provide a path resolution (v2) Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 007/197] qom: add child properties (composition) (v2) Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 008/197] qom: add link properties (v2) Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 009/197] qapi: allow a 'gen' key to suppress code generation Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 010/197] qmp: add qom-list command Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 011/197] qom: qom_{get, set} monitor commands (v2) Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 012/197] qdev: add explicitly named devices to the root complex Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 013/197] dev: add an anonymous peripheral container Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 014/197] rtc: make piix3 set the rtc as a child (v2) Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 015/197] rtc: add a dynamic property for retrieving the date Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 016/197] qom: optimize qdev_get_canonical_path using a parent link Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 017/197] qmp: make qmp.py easier to use Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 018/197] qom: add test tools (v2) Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 019/197] bug fix spotted by paolo Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 020/197] qom: add vga node to the pc composition tree Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 021/197] qom: add string property type Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 022/197] qdev: add a qdev_get_type() function and expose as a 'type' property Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 023/197] pc: fill out most of the composition tree Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 024/197] i440fx: split out piix3 device Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 025/197] i440fx: rename piix_pci -> i440fx Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 026/197] qom: add qobject Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 027/197] rename qobject -> object Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 028/197] more renames Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 029/197] Start integration of qom w/qdev Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 030/197] qdev: move qdev->info to class Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 031/197] qdev: don't access name through info Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 032/197] qdev: user a wrapper to access reset and promote reset to a class method Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 033/197] a little better approach to this Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 034/197] qdev: add isa-device as a subclass of device Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 035/197] isa: more isa stuff Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 036/197] qom: make pcidevice part of the hierarchy Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 039/197] virtio-serial-port Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 040/197] get rid of more DO_UPCAST Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 041/197] add class_init to deviceinfo Anthony Liguori
2011-12-12 20:18 ` Anthony Liguori [this message]
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 043/197] kill off ISADeviceInfo Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 044/197] usb: don't access dev->info directly Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 045/197] usb: get rid of info pointer Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 046/197] usb: promote all of the methods for USBDevice to class methods Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 047/197] usb: use a factory instead of doing silly things for legacy Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 048/197] usb: kill USBDeviceInfo Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 049/197] usb-hid: simply class initialization a bit Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 050/197] accessors for scsideviceinfo Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 051/197] drop info link in SCSIDeviceInfo Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 052/197] move methods out of SCSIDeviceInfo into SCSIDeviceClass Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 053/197] kill off SCSIDeviceInfo Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 054/197] get rid of CCIDCardInfo Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 055/197] rename i2c_slave -> I2CSlave Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 056/197] add I2CSlave to the type hierarchy Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 057/197] add SMBusDevice to the type hiearchy Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 058/197] fixup type registration Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 059/197] kill off SMBusDeviceInfo Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 060/197] add guards Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 061/197] killall I2CSlaveInfo Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 062/197] killall HDACodecDeviceInfo Anthony Liguori
2011-12-12 20:18 ` [Qemu-devel] [PATCH v3 063/197] make spapr a bit more patch monkey friendly Anthony Liguori
2011-12-12 20:19 ` [Qemu-devel] [PATCH v3 064/197] killall VIOsPAPRDeviceInfo Anthony Liguori
2011-12-13  2:04   ` Michael Ellerman
2011-12-13  2:10     ` Anthony Liguori
2011-12-13  2:22       ` Michael Ellerman
2011-12-13  2:25         ` Anthony Liguori
2011-12-13  3:26           ` David Gibson
2011-12-12 20:19 ` [Qemu-devel] [PATCH v3 065/197] qxl: be more patch monkey friendly Anthony Liguori
2011-12-12 20:19 ` [Qemu-devel] [PATCH v3 066/197] make es1370 more script " Anthony Liguori
2011-12-12 20:19 ` [Qemu-devel] [PATCH v3 067/197] remove arrays of PCIDeviceInfo Anthony Liguori
2011-12-12 20:19 ` [Qemu-devel] [PATCH v3 068/197] Patch monkey PCIDeviceInfo conversion Anthony Liguori
2011-12-12 20:19 ` [Qemu-devel] [PATCH v3 069/197] patch monkey, that funky monkey Anthony Liguori

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1323721273-32404-43-git-send-email-aliguori@us.ibm.com \
    --to=aliguori@us.ibm.com \
    --cc=armbru@redhat.com \
    --cc=jan.kiszka@siemens.com \
    --cc=kwolf@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).