qdev: kill off DeviceInfo
authorAnthony Liguori <aliguori@us.ibm.com>
Fri, 9 Dec 2011 21:02:56 +0000 (15:02 -0600)
committerAnthony Liguori <aliguori@us.ibm.com>
Fri, 3 Feb 2012 16:41:06 +0000 (10:41 -0600)
It is no longer used in the tree since everything is done natively through
QEMU Object Model.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 files changed:
hw/i2c.c
hw/ide/qdev.c
hw/intel-hda.c
hw/isa-bus.c
hw/pci.c
hw/qdev.c
hw/qdev.h
hw/s390-virtio-bus.c
hw/scsi-bus.c
hw/spapr_vio.c
hw/ssi.c
hw/sysbus.c
hw/usb-bus.c
hw/usb-ccid.c
hw/virtio-serial-bus.c

index e21a666aff1df195045bf2e18e6455a48aa66368..8ae4aaae1da4414c1ed6f893a76972c3ab5b94c5 100644 (file)
--- a/hw/i2c.c
+++ b/hw/i2c.c
@@ -196,7 +196,7 @@ const VMStateDescription vmstate_i2c_slave = {
     }
 };
 
-static int i2c_slave_qdev_init(DeviceState *dev, DeviceInfo *base)
+static int i2c_slave_qdev_init(DeviceState *dev)
 {
     I2CSlave *s = I2C_SLAVE_FROM_QDEV(dev);
     I2CSlaveClass *sc = I2C_SLAVE_GET_CLASS(s);
index 1335615d17a10dfebc32a5df3ac83d6f3699cf6e..1640616906f684ba53ec96f63cf1ff8596ce78c0 100644 (file)
@@ -53,7 +53,7 @@ static char *idebus_get_fw_dev_path(DeviceState *dev)
     return strdup(path);
 }
 
-static int ide_qdev_init(DeviceState *qdev, DeviceInfo *base)
+static int ide_qdev_init(DeviceState *qdev)
 {
     IDEDevice *dev = IDE_DEVICE(qdev);
     IDEDeviceClass *dc = IDE_DEVICE_GET_CLASS(dev);
index 9e4a31f62d59d920de84b684af1c91eaf84c2196..83c42d58b60c832b824a040ae1689b932b044c9e 100644 (file)
@@ -47,7 +47,7 @@ void hda_codec_bus_init(DeviceState *dev, HDACodecBus *bus,
     bus->xfer = xfer;
 }
 
-static int hda_codec_dev_init(DeviceState *qdev, DeviceInfo *base)
+static int hda_codec_dev_init(DeviceState *qdev)
 {
     HDACodecBus *bus = DO_UPCAST(HDACodecBus, qbus, qdev->parent_bus);
     HDACodecDevice *dev = DO_UPCAST(HDACodecDevice, qdev, qdev);
index a22c5c6efe2c8a287d0863eeeb80016df478dc31..d03f82824ca6cd12ee5761a9ad4474724dcf673f 100644 (file)
@@ -110,7 +110,7 @@ void isa_register_portio_list(ISADevice *dev, uint16_t start,
     portio_list_add(piolist, isabus->address_space_io, start);
 }
 
-static int isa_qdev_init(DeviceState *qdev, DeviceInfo *base)
+static int isa_qdev_init(DeviceState *qdev)
 {
     ISADevice *dev = ISA_DEVICE(qdev);
     ISADeviceClass *klass = ISA_DEVICE_GET_CLASS(dev);
index 8fd450c9e94bd21017ad6b91f666cc780bfbf2e2..1df05ae3a0340050f9447de490a2811d379124b2 100644 (file)
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -1453,7 +1453,7 @@ PCIDevice *pci_find_device(PCIBus *bus, int bus_num, uint8_t devfn)
     return bus->devices[devfn];
 }
 
-static int pci_qdev_init(DeviceState *qdev, DeviceInfo *base)
+static int pci_qdev_init(DeviceState *qdev)
 {
     PCIDevice *pci_dev = (PCIDevice *)qdev;
     PCIDeviceClass *pc = PCI_DEVICE_GET_CLASS(pci_dev);
index a30a1c263d06482aedfe1167feee16dd4cc715b4..4f6c3a713a098c3bf9a5655793dbc9002b36cbf2 100644 (file)
--- a/hw/qdev.c
+++ b/hw/qdev.c
@@ -43,49 +43,6 @@ static BusState *qbus_find_recursive(BusState *bus, const char *name,
 static BusState *qbus_find(const char *path);
 
 /* Register a new device type.  */
-static void qdev_subclass_init(ObjectClass *klass, void *data)
-{
-    DeviceClass *dc = DEVICE_CLASS(klass);
-    DeviceInfo *info = data;
-
-    if (info->fw_name) {
-        dc->fw_name = info->fw_name;
-    }
-    if (info->alias) {
-        dc->alias = info->alias;
-    }
-    if (info->desc) {
-        dc->desc = info->desc;
-    }
-    if (info->props) {
-        dc->props = info->props;
-    }
-    if (info->no_user) {
-        dc->no_user = info->no_user;
-    }
-    if (info->reset) {
-        dc->reset = info->reset;
-    }
-    if (info->vmsd) {
-        dc->vmsd = info->vmsd;
-    }
-    if (info->init) {
-        dc->init = info->init;
-    }
-    if (info->unplug) {
-        dc->unplug = info->unplug;
-    }
-    if (info->exit) {
-        dc->exit = info->exit;
-    }
-    if (info->bus_info) {
-        dc->bus_info = info->bus_info;
-    }
-    if (info->class_init) {
-        info->class_init(klass, data);
-    }
-}
-
 const VMStateDescription *qdev_get_vmsd(DeviceState *dev)
 {
     DeviceClass *dc = DEVICE_GET_CLASS(dev);
@@ -117,30 +74,6 @@ const char *qdev_fw_name(DeviceState *dev)
     return object_get_typename(OBJECT(dev));
 }
 
-static void qdev_do_register_subclass(DeviceInfo *info, const char *parent,
-                                      const char *name)
-{
-    TypeInfo type_info = {};
-
-    assert(info->size >= sizeof(DeviceState));
-
-    type_info.name = name;
-    type_info.parent = parent;
-    type_info.instance_size = info->size;
-    type_info.class_init = qdev_subclass_init;
-    type_info.class_data = info;
-
-    type_register_static(&type_info);
-}
-
-void qdev_register_subclass(DeviceInfo *info, const char *parent)
-{
-    qdev_do_register_subclass(info, parent, info->name);
-    if (info->alias) {
-        qdev_do_register_subclass(info, parent, info->alias);
-    }
-}
-
 bool qdev_exists(const char *name)
 {
     return !!object_class_by_name(name);
@@ -406,8 +339,7 @@ int qdev_init(DeviceState *dev)
 
     assert(dev->state == DEV_STATE_CREATED);
 
-    /* FIXME hopefully this doesn't break anything */
-    rc = dc->init(dev, NULL);
+    rc = dc->init(dev);
     if (rc < 0) {
         qdev_free(dev);
         return rc;
index ce766253526484fdc708897fe13c1ea401551cb0..b56747e773efe8deed4dd33436c51281edc49fca 100644 (file)
--- a/hw/qdev.h
+++ b/hw/qdev.h
@@ -14,8 +14,6 @@ typedef struct PropertyInfo PropertyInfo;
 
 typedef struct CompatProperty CompatProperty;
 
-typedef struct DeviceInfo DeviceInfo;
-
 typedef struct BusState BusState;
 
 typedef struct BusInfo BusInfo;
@@ -72,7 +70,7 @@ typedef struct DeviceProperty
 #define DEVICE_CLASS(klass) OBJECT_CLASS_CHECK(DeviceClass, (klass), TYPE_DEVICE)
 #define DEVICE_GET_CLASS(obj) OBJECT_GET_CLASS(DeviceClass, (obj), TYPE_DEVICE)
 
-typedef int (*qdev_initfn)(DeviceState *dev, DeviceInfo *info);
+typedef int (*qdev_initfn)(DeviceState *dev);
 typedef int (*qdev_event)(DeviceState *dev);
 typedef void (*qdev_resetfn)(DeviceState *dev);
 
@@ -233,35 +231,6 @@ BusState *qdev_get_child_bus(DeviceState *dev, const char *name);
 
 /*** Device API.  ***/
 
-struct DeviceInfo {
-    const char *name;
-    const char *fw_name;
-    const char *alias;
-    const char *desc;
-    size_t size;
-    Property *props;
-    int no_user;
-
-    /* callbacks */
-    qdev_resetfn reset;
-
-    /* device state */
-    const VMStateDescription *vmsd;
-
-    /**
-     * See #TypeInfo::class_init()
-     */
-    void (*class_init)(ObjectClass *klass, void *data);
-
-    /* Private to qdev / bus.  */
-    qdev_initfn init;
-    qdev_event unplug;
-    qdev_event exit;
-    BusInfo *bus_info;
-};
-
-void qdev_register_subclass(DeviceInfo *info, const char *parent);
-
 /* Register device properties.  */
 /* GPIO inputs also double as IRQ sinks.  */
 void qdev_init_gpio_in(DeviceState *dev, qemu_irq_handler handler, int n);
index a0c610ab713cae9e244ed4af058222cc306212d7..4e1e888433d2a56c30c2739b44efa1dbeff0535d 100644 (file)
@@ -410,7 +410,7 @@ static TypeInfo s390_virtio_serial = {
     .class_init    = s390_virtio_serial_class_init,
 };
 
-static int s390_virtio_busdev_init(DeviceState *dev, DeviceInfo *info)
+static int s390_virtio_busdev_init(DeviceState *dev)
 {
     VirtIOS390Device *_dev = (VirtIOS390Device *)dev;
     VirtIOS390DeviceClass *_info = VIRTIO_S390_DEVICE_GET_CLASS(dev);
index b75044f93be1ed06fd8e29ba5de548c6c65f2d6d..0ee50a8360d7defef579b90aee744961e37b0698 100644 (file)
@@ -115,7 +115,7 @@ static void scsi_dma_restart_cb(void *opaque, int running, RunState state)
     }
 }
 
-static int scsi_qdev_init(DeviceState *qdev, DeviceInfo *base)
+static int scsi_qdev_init(DeviceState *qdev)
 {
     SCSIDevice *dev = SCSI_DEVICE(qdev);
     SCSIBus *bus = DO_UPCAST(SCSIBus, qbus, dev->qdev.parent_bus);
index d39a47b11a933af4f2c04cf55bc5b46a75e99c0d..64f00098148cd86492eb8c4632cc89b959b76d78 100644 (file)
@@ -649,7 +649,7 @@ static int spapr_vio_check_reg(VIOsPAPRDevice *sdev)
     return 0;
 }
 
-static int spapr_vio_busdev_init(DeviceState *qdev, DeviceInfo *qinfo)
+static int spapr_vio_busdev_init(DeviceState *qdev)
 {
     VIOsPAPRDevice *dev = (VIOsPAPRDevice *)qdev;
     VIOsPAPRDeviceClass *pc = VIO_SPAPR_DEVICE_GET_CLASS(dev);
index 4282b8b9209fe03bc897489c3232a4d104ab166a..ead446c49a858f4759f47a93651210d3777bac84 100644 (file)
--- a/hw/ssi.c
+++ b/hw/ssi.c
@@ -21,7 +21,7 @@ static struct BusInfo ssi_bus_info = {
     .size = sizeof(SSIBus),
 };
 
-static int ssi_slave_init(DeviceState *dev, DeviceInfo *base_info)
+static int ssi_slave_init(DeviceState *dev)
 {
     SSISlave *s = SSI_SLAVE(dev);
     SSISlaveClass *ssc = SSI_SLAVE_GET_CLASS(s);
index 4870dbfbf3035e1be5adcc3bc826e7e8665c0e58..282060abb6d59fbbbd65ea3fc6937c30b92fe853 100644 (file)
@@ -105,7 +105,7 @@ void sysbus_init_ioports(SysBusDevice *dev, pio_addr_t ioport, pio_addr_t size)
     }
 }
 
-static int sysbus_device_init(DeviceState *dev, DeviceInfo *base)
+static int sysbus_device_init(DeviceState *dev)
 {
     SysBusDevice *sd = SYS_BUS_DEVICE(dev);
     SysBusDeviceClass *sbc = SYS_BUS_DEVICE_GET_CLASS(sd);
index d07f844657a26aa3cfc3eabfbcead4fad2694f6c..b7538345842b48892b31193af403f55dbaef3e80 100644 (file)
@@ -156,7 +156,7 @@ void usb_device_set_interface(USBDevice *dev, int interface,
     }
 }
 
-static int usb_qdev_init(DeviceState *qdev, DeviceInfo *base)
+static int usb_qdev_init(DeviceState *qdev)
 {
     USBDevice *dev = USB_DEVICE(qdev);
     int rc;
index 844f873290bb98ca55852c949d7c914d76113a9f..881da3002e0c2e55bfe77bc6cf8d0518a62e5be3 100644 (file)
@@ -1161,7 +1161,7 @@ static int ccid_card_exit(DeviceState *qdev)
     return ret;
 }
 
-static int ccid_card_init(DeviceState *qdev, DeviceInfo *base)
+static int ccid_card_init(DeviceState *qdev)
 {
     CCIDCardState *card = CCID_CARD(qdev);
     USBCCIDState *s =
index 50a6d7fc16af1ef313dfc6e9c6d6f6bf46e2db0a..61176299a3892cf0cef342e305cd39fa7d556331 100644 (file)
@@ -748,7 +748,7 @@ static void remove_port(VirtIOSerial *vser, uint32_t port_id)
     send_control_event(port, VIRTIO_CONSOLE_PORT_REMOVE, 1);
 }
 
-static int virtser_port_qdev_init(DeviceState *qdev, DeviceInfo *base)
+static int virtser_port_qdev_init(DeviceState *qdev)
 {
     VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev, qdev);
     VirtIOSerialPortClass *vsc = VIRTIO_SERIAL_PORT_GET_CLASS(port);