qdev: move qdev->info to class

Right now, DeviceInfo acts as the class for qdev.  In order to switch to a
proper ObjectClass derivative, we need to ween all of the callers off of
interacting directly with the info pointer.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Anthony Liguori 2011-12-04 11:08:36 -06:00
parent 32fea4025b
commit 30fbb9fc7c
33 changed files with 119 additions and 93 deletions

View file

@ -138,7 +138,7 @@ static void do_flush_queued_data(VirtIOSerialPort *port, VirtQueue *vq,
assert(port);
assert(virtio_queue_ready(vq));
info = DO_UPCAST(VirtIOSerialPortInfo, qdev, port->dev.info);
info = DO_UPCAST(VirtIOSerialPortInfo, qdev, qdev_get_info(&port->dev));
while (!port->throttled) {
unsigned int i;
@ -373,7 +373,7 @@ static void handle_control_message(VirtIOSerial *vser, void *buf, size_t len)
trace_virtio_serial_handle_control_message_port(port->id);
info = DO_UPCAST(VirtIOSerialPortInfo, qdev, port->dev.info);
info = DO_UPCAST(VirtIOSerialPortInfo, qdev, qdev_get_info(&port->dev));
switch(cpkt.event) {
case VIRTIO_CONSOLE_PORT_READY:
@ -824,7 +824,7 @@ static int virtser_port_qdev_exit(DeviceState *qdev)
{
VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev, qdev);
VirtIOSerialPortInfo *info = DO_UPCAST(VirtIOSerialPortInfo, qdev,
port->dev.info);
qdev_get_info(&port->dev));
VirtIOSerial *vser = port->vser;
qemu_bh_delete(port->bh);