From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=54838 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Psfi8-0004ks-SF for qemu-devel@nongnu.org; Thu, 24 Feb 2011 13:14:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Psfi7-0008V3-2E for qemu-devel@nongnu.org; Thu, 24 Feb 2011 13:14:44 -0500 Received: from mail-vx0-f173.google.com ([209.85.220.173]:42188) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Psfi6-0008Ux-Ta for qemu-devel@nongnu.org; Thu, 24 Feb 2011 13:14:43 -0500 Received: by vxb41 with SMTP id 41so731822vxb.4 for ; Thu, 24 Feb 2011 10:14:42 -0800 (PST) Message-ID: <4D669F35.7060600@codemonkey.ws> Date: Thu, 24 Feb 2011 12:11:01 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [RESEND][REBASE] [PATCH] virtio-serial: kill VirtIOSerialDevice References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Amit Shah Cc: qemu list , Gerd Hoffmann On 02/23/2011 11:44 PM, Amit Shah wrote: > From: Gerd Hoffmann > > VirtIOSerialDevice is like VirtIOSerialPort with just the first two > fields, which makes it pretty pointless. Using VirtIOSerialPort > directly works equally well and is less confusing. > > [Amit: - rebase > - rename 'dev' to 'port' in function params in virtio-serial.h ] > > Signed-off-by: Gerd Hoffmann > Signed-off-by: Amit Shah > Applied. Thanks. Regards, Anthony Liguori > --- > hw/virtio-console.c | 17 ++++++----------- > hw/virtio-serial-bus.c | 15 ++++++--------- > hw/virtio-serial.h | 9 ++------- > 3 files changed, 14 insertions(+), 27 deletions(-) > > diff --git a/hw/virtio-console.c b/hw/virtio-console.c > index 62624ec..c235b27 100644 > --- a/hw/virtio-console.c > +++ b/hw/virtio-console.c > @@ -57,10 +57,8 @@ static void chr_event(void *opaque, int event) > } > } > > -static int generic_port_init(VirtConsole *vcon, VirtIOSerialDevice *dev) > +static int generic_port_init(VirtConsole *vcon, VirtIOSerialPort *port) > { > - vcon->port.info = dev->info; > - > if (vcon->chr) { > qemu_chr_add_handlers(vcon->chr, chr_can_read, chr_read, chr_event, > vcon); > @@ -70,18 +68,16 @@ static int generic_port_init(VirtConsole *vcon, VirtIOSerialDevice *dev) > } > > /* Virtio Console Ports */ > -static int virtconsole_initfn(VirtIOSerialDevice *dev) > +static int virtconsole_initfn(VirtIOSerialPort *port) > { > - VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev,&dev->qdev); > VirtConsole *vcon = DO_UPCAST(VirtConsole, port, port); > > port->is_console = true; > - return generic_port_init(vcon, dev); > + return generic_port_init(vcon, port); > } > > -static int virtconsole_exitfn(VirtIOSerialDevice *dev) > +static int virtconsole_exitfn(VirtIOSerialPort *port) > { > - VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev,&dev->qdev); > VirtConsole *vcon = DO_UPCAST(VirtConsole, port, port); > > if (vcon->chr) { > @@ -113,12 +109,11 @@ static void virtconsole_register(void) > device_init(virtconsole_register) > > /* Generic Virtio Serial Ports */ > -static int virtserialport_initfn(VirtIOSerialDevice *dev) > +static int virtserialport_initfn(VirtIOSerialPort *port) > { > - VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev,&dev->qdev); > VirtConsole *vcon = DO_UPCAST(VirtConsole, port, port); > > - return generic_port_init(vcon, dev); > + return generic_port_init(vcon, port); > } > > static VirtIOSerialPortInfo virtserialport_info = { > diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c > index e05ab5e..8446bc2 100644 > --- a/hw/virtio-serial-bus.c > +++ b/hw/virtio-serial-bus.c > @@ -658,8 +658,7 @@ static VirtIOSerialBus *virtser_bus_new(DeviceState *dev) > > static void virtser_bus_dev_print(Monitor *mon, DeviceState *qdev, int indent) > { > - VirtIOSerialDevice *dev = DO_UPCAST(VirtIOSerialDevice, qdev, qdev); > - VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev,&dev->qdev); > + VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev, qdev); > > monitor_printf(mon, "%*s dev-prop-int: id: %u\n", > indent, "", port->id); > @@ -721,9 +720,8 @@ static void remove_port(VirtIOSerial *vser, uint32_t port_id) > > static int virtser_port_qdev_init(DeviceState *qdev, DeviceInfo *base) > { > - VirtIOSerialDevice *dev = DO_UPCAST(VirtIOSerialDevice, qdev, qdev); > + VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev, qdev); > VirtIOSerialPortInfo *info = DO_UPCAST(VirtIOSerialPortInfo, qdev, base); > - VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev,&dev->qdev); > VirtIOSerialBus *bus = DO_UPCAST(VirtIOSerialBus, qbus, qdev->parent_bus); > int ret; > bool plugging_port0; > @@ -761,8 +759,8 @@ static int virtser_port_qdev_init(DeviceState *qdev, DeviceInfo *base) > return -1; > } > > - dev->info = info; > - ret = info->init(dev); > + port->info = info; > + ret = info->init(port); > if (ret) { > return ret; > } > @@ -791,8 +789,7 @@ static int virtser_port_qdev_init(DeviceState *qdev, DeviceInfo *base) > > static int virtser_port_qdev_exit(DeviceState *qdev) > { > - VirtIOSerialDevice *dev = DO_UPCAST(VirtIOSerialDevice, qdev, qdev); > - VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev,&dev->qdev); > + VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev, qdev); > VirtIOSerial *vser = port->vser; > > remove_port(port->vser, port->id); > @@ -800,7 +797,7 @@ static int virtser_port_qdev_exit(DeviceState *qdev) > QTAILQ_REMOVE(&vser->ports, port, next); > > if (port->info->exit) > - port->info->exit(dev); > + port->info->exit(port); > > return 0; > } > diff --git a/hw/virtio-serial.h b/hw/virtio-serial.h > index a308196..8cb9fbe 100644 > --- a/hw/virtio-serial.h > +++ b/hw/virtio-serial.h > @@ -62,11 +62,6 @@ typedef struct VirtIOSerialBus VirtIOSerialBus; > typedef struct VirtIOSerialPort VirtIOSerialPort; > typedef struct VirtIOSerialPortInfo VirtIOSerialPortInfo; > > -typedef struct VirtIOSerialDevice { > - DeviceState qdev; > - VirtIOSerialPortInfo *info; > -} VirtIOSerialDevice; > - > /* > * This is the state that's shared between all the ports. Some of the > * state is configurable via command-line options. Some of it can be > @@ -136,12 +131,12 @@ struct VirtIOSerialPortInfo { > * The per-port (or per-app) init function that's called when a > * new device is found on the bus. > */ > - int (*init)(VirtIOSerialDevice *dev); > + int (*init)(VirtIOSerialPort *port); > /* > * Per-port exit function that's called when a port gets > * hot-unplugged or removed. > */ > - int (*exit)(VirtIOSerialDevice *dev); > + int (*exit)(VirtIOSerialPort *port); > > /* Callbacks for guest events */ > /* Guest opened device. */ >