From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NsAEm-0005Vb-AT for qemu-devel@nongnu.org; Thu, 18 Mar 2010 03:33:48 -0400 Received: from [199.232.76.173] (port=58310 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NsAEj-0005VJ-EY for qemu-devel@nongnu.org; Thu, 18 Mar 2010 03:33:45 -0400 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NsAEi-00056z-63 for qemu-devel@nongnu.org; Thu, 18 Mar 2010 03:33:45 -0400 Received: from mx1.redhat.com ([209.132.183.28]:41197) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NsAEh-00056t-LM for qemu-devel@nongnu.org; Thu, 18 Mar 2010 03:33:43 -0400 Received: from int-mx05.intmail.prod.int.phx2.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.18]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o2I7Xgdp027815 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 18 Mar 2010 03:33:43 -0400 Date: Thu, 18 Mar 2010 09:30:18 +0200 From: "Michael S. Tsirkin" Message-ID: <20100318073018.GG16973@redhat.com> References: <006fb499a66db0f303f9f39eff321dcca287a9a9.1268765204.git.quintela@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <006fb499a66db0f303f9f39eff321dcca287a9a9.1268765204.git.quintela@redhat.com> Subject: [Qemu-devel] Re: [PATCH 5/9] virtio: Use DO_UPCAST instead of a cast List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Juan Quintela Cc: qemu-devel@nongnu.org On Tue, Mar 16, 2010 at 07:51:21PM +0100, Juan Quintela wrote: > virtio_common_init() creates a struct with the right size, DO_UPCAST > is the appropiate thing here > > Signed-off-by: Juan Quintela Sent a replacement patch for this. > --- > hw/virtio-balloon.c | 4 ++-- > hw/virtio-blk.c | 7 ++++--- > hw/virtio-net.c | 8 ++++---- > 3 files changed, 10 insertions(+), 9 deletions(-) > > diff --git a/hw/virtio-balloon.c b/hw/virtio-balloon.c > index 71d009f..ca7f969 100644 > --- a/hw/virtio-balloon.c > +++ b/hw/virtio-balloon.c > @@ -284,11 +284,11 @@ static int virtio_balloon_load(QEMUFile *f, void *opaque, int version_id) > VirtIODevice *virtio_balloon_init(DeviceState *dev) > { > VirtIOBalloon *s; > - > - s = (VirtIOBalloon *)virtio_common_init("virtio-balloon", > + VirtIODevice *vdev = virtio_common_init("virtio-balloon", > VIRTIO_ID_BALLOON, > 8, sizeof(VirtIOBalloon)); > > + s = DO_UPCAST(VirtIOBalloon, vdev, vdev); > s->vdev.get_config = virtio_balloon_get_config; > s->vdev.set_config = virtio_balloon_set_config; > s->vdev.get_features = virtio_balloon_get_features; > diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c > index ce8b604..672a07b 100644 > --- a/hw/virtio-blk.c > +++ b/hw/virtio-blk.c > @@ -464,9 +464,10 @@ VirtIODevice *virtio_blk_init(DeviceState *dev, BlockConf *conf) > int cylinders, heads, secs; > static int virtio_blk_id; > > - s = (VirtIOBlock *)virtio_common_init("virtio-blk", VIRTIO_ID_BLOCK, > - sizeof(struct virtio_blk_config), > - sizeof(VirtIOBlock)); > + VirtIODevice *vdev = virtio_common_init("virtio-blk", VIRTIO_ID_BLOCK, > + sizeof(struct virtio_blk_config), > + sizeof(VirtIOBlock)); > + s = DO_UPCAST(VirtIOBlock, vdev, vdev); > > s->vdev.get_config = virtio_blk_update_config; > s->vdev.get_features = virtio_blk_get_features; > diff --git a/hw/virtio-net.c b/hw/virtio-net.c > index c0537c8..2761a1a 100644 > --- a/hw/virtio-net.c > +++ b/hw/virtio-net.c > @@ -829,11 +829,11 @@ VirtIODevice *virtio_net_init(DeviceState *dev, NICConf *conf) > { > VirtIONet *n; > static int virtio_net_id; > + VirtIODevice *vdev = virtio_common_init("virtio-net", VIRTIO_ID_NET, > + sizeof(struct virtio_net_config), > + sizeof(VirtIONet)); > > - n = (VirtIONet *)virtio_common_init("virtio-net", VIRTIO_ID_NET, > - sizeof(struct virtio_net_config), > - sizeof(VirtIONet)); > - > + n = DO_UPCAST(VirtIONet, vdev, vdev); > n->vdev.get_config = virtio_net_get_config; > n->vdev.set_config = virtio_net_set_config; > n->vdev.get_features = virtio_net_get_features; > -- > 1.6.6.1 > >