From patchwork Mon Jan 7 18:40:49 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: fred.konrad@greensocs.com X-Patchwork-Id: 210048 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 3E0172C007B for ; Tue, 8 Jan 2013 05:59:21 +1100 (EST) Received: from localhost ([::1]:55614 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TsHgu-0000iV-1L for incoming@patchwork.ozlabs.org; Mon, 07 Jan 2013 13:44:56 -0500 Received: from eggs.gnu.org ([208.118.235.92]:56616) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TsHeY-0005NE-87 for qemu-devel@nongnu.org; Mon, 07 Jan 2013 13:42:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TsHeW-0005wq-F3 for qemu-devel@nongnu.org; Mon, 07 Jan 2013 13:42:30 -0500 Received: from greensocs.com ([87.106.252.221]:52960 helo=s15328186.onlinehome-server.info) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TsHeW-0005wc-5g for qemu-devel@nongnu.org; Mon, 07 Jan 2013 13:42:28 -0500 Received: from localhost (unknown [127.0.0.1]) by s15328186.onlinehome-server.info (Postfix) with ESMTP id 792F0439E33; Mon, 7 Jan 2013 18:42:27 +0000 (UTC) Received: from s15328186.onlinehome-server.info ([127.0.0.1]) by localhost (s15328186.onlinehome-server.info [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id e3d0-QTlffjs; Mon, 7 Jan 2013 19:42:24 +0100 (CET) Received: by s15328186.onlinehome-server.info (Postfix, from userid 491) id B5C8F439E44; Mon, 7 Jan 2013 19:42:18 +0100 (CET) Received: from compaq.katmai.xl.cx.katmai.xl.cx (lan31-11-83-155-143-136.fbx.proxad.net [83.155.143.136]) by s15328186.onlinehome-server.info (Postfix) with ESMTPSA id 54F3B439E3F; Mon, 7 Jan 2013 19:42:17 +0100 (CET) From: fred.konrad@greensocs.com To: qemu-devel@nongnu.org, aliguori@us.ibm.com Date: Mon, 7 Jan 2013 19:40:49 +0100 Message-Id: <1357584074-10852-37-git-send-email-fred.konrad@greensocs.com> X-Mailer: git-send-email 1.7.11.7 In-Reply-To: <1357584074-10852-1-git-send-email-fred.konrad@greensocs.com> References: <1357584074-10852-1-git-send-email-fred.konrad@greensocs.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 87.106.252.221 Cc: kwolf@redhat.com, peter.maydell@linaro.org, e.voevodin@samsung.com, mst@redhat.com, mark.burton@greensocs.com, agraf@suse.de, amit.shah@redhat.com, aneesh.kumar@linux.vnet.ibm.com, stefanha@redhat.com, cornelia.huck@de.ibm.com, pbonzini@redhat.com, afaerber@suse.de, fred.konrad@greensocs.com Subject: [Qemu-devel] [PATCH 36/61] virtio-balloon : cleanup : QOM casts. X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org From: KONRAD Frederic As the virtio-balloon-pci is switched to the new API, we can use QOM casts. This shouldn't been applyied before virtio-balloon-pci refactoring as its VirtIODevice was not a QOM object. Signed-off-by: KONRAD Frederic --- hw/virtio-balloon.c | 39 +++++++++++++++++---------------------- hw/virtio-balloon.h | 2 +- 2 files changed, 18 insertions(+), 23 deletions(-) diff --git a/hw/virtio-balloon.c b/hw/virtio-balloon.c index 3990a6b..2cb57b2 100644 --- a/hw/virtio-balloon.c +++ b/hw/virtio-balloon.c @@ -29,14 +29,6 @@ #include "virtio-bus.h" -/* - * Will be modified later in the serie. - */ -static VirtIOBalloon *to_virtio_balloon(VirtIODevice *vdev) -{ - return (VirtIOBalloon *)vdev; -} - static void balloon_page(void *addr, int deflate) { #if defined(__linux__) @@ -62,7 +54,7 @@ static inline void reset_stats(VirtIOBalloon *dev) static void virtio_balloon_handle_output(VirtIODevice *vdev, VirtQueue *vq) { - VirtIOBalloon *s = to_virtio_balloon(vdev); + VirtIOBalloon *s = VIRTIO_BALLOON(vdev); VirtQueueElement elem; MemoryRegionSection section; @@ -96,7 +88,7 @@ static void virtio_balloon_handle_output(VirtIODevice *vdev, VirtQueue *vq) static void virtio_balloon_receive_stats(VirtIODevice *vdev, VirtQueue *vq) { - VirtIOBalloon *s = DO_UPCAST(VirtIOBalloon, vdev, vdev); + VirtIOBalloon *s = VIRTIO_BALLOON(vdev); VirtQueueElement *elem = &s->stats_vq_elem; VirtIOBalloonStat stat; size_t offset = 0; @@ -125,7 +117,7 @@ static void virtio_balloon_receive_stats(VirtIODevice *vdev, VirtQueue *vq) static void virtio_balloon_get_config(VirtIODevice *vdev, uint8_t *config_data) { - VirtIOBalloon *dev = to_virtio_balloon(vdev); + VirtIOBalloon *dev = VIRTIO_BALLOON(vdev); struct virtio_balloon_config config; config.num_pages = cpu_to_le32(dev->num_pages); @@ -137,7 +129,7 @@ static void virtio_balloon_get_config(VirtIODevice *vdev, uint8_t *config_data) static void virtio_balloon_set_config(VirtIODevice *vdev, const uint8_t *config_data) { - VirtIOBalloon *dev = to_virtio_balloon(vdev); + VirtIOBalloon *dev = VIRTIO_BALLOON(vdev); struct virtio_balloon_config config; uint32_t oldactual = dev->actual; memcpy(&config, config_data, 8); @@ -156,7 +148,7 @@ static uint32_t virtio_balloon_get_features(VirtIODevice *vdev, uint32_t f) static void virtio_balloon_stat(void *opaque, BalloonInfo *info) { - VirtIOBalloon *dev = opaque; + VirtIOBalloon *dev = VIRTIO_BALLOON(opaque); #if 0 /* Disable guest-provided stats for now. For more details please check: @@ -185,22 +177,24 @@ static void virtio_balloon_stat(void *opaque, BalloonInfo *info) static void virtio_balloon_to_target(void *opaque, ram_addr_t target) { - VirtIOBalloon *dev = opaque; + VirtIOBalloon *dev = VIRTIO_BALLOON(opaque); + VirtIODevice *vdev = VIRTIO_DEVICE(dev); if (target > ram_size) { target = ram_size; } if (target) { dev->num_pages = (ram_size - target) >> VIRTIO_BALLOON_PFN_SHIFT; - virtio_notify_config(&dev->vdev); + virtio_notify_config(vdev); } } static void virtio_balloon_save(QEMUFile *f, void *opaque) { - VirtIOBalloon *s = opaque; + VirtIOBalloon *s = VIRTIO_BALLOON(opaque); + VirtIODevice *vdev = VIRTIO_DEVICE(s); - virtio_save(&s->vdev, f); + virtio_save(vdev, f); qemu_put_be32(f, s->num_pages); qemu_put_be32(f, s->actual); @@ -208,13 +202,14 @@ static void virtio_balloon_save(QEMUFile *f, void *opaque) static int virtio_balloon_load(QEMUFile *f, void *opaque, int version_id) { - VirtIOBalloon *s = opaque; + VirtIOBalloon *s = VIRTIO_BALLOON(opaque); + VirtIODevice *vdev = VIRTIO_DEVICE(s); int ret; if (version_id != 1) return -EINVAL; - ret = virtio_load(&s->vdev, f); + ret = virtio_load(vdev, f); if (ret) { return ret; } @@ -236,9 +231,9 @@ static int virtio_balloon_device_init(VirtIODevice *vdev) * This will disappear later in the serie. * We will use VirtioDeviceClass instead. */ - s->vdev.get_config = virtio_balloon_get_config; - s->vdev.set_config = virtio_balloon_set_config; - s->vdev.get_features = virtio_balloon_get_features; + vdev->get_config = virtio_balloon_get_config; + vdev->set_config = virtio_balloon_set_config; + vdev->get_features = virtio_balloon_get_features; ret = qemu_add_balloon_handler(virtio_balloon_to_target, virtio_balloon_stat, s); diff --git a/hw/virtio-balloon.h b/hw/virtio-balloon.h index c106026..96327e6 100644 --- a/hw/virtio-balloon.h +++ b/hw/virtio-balloon.h @@ -57,7 +57,7 @@ typedef struct VirtIOBalloonStat { } QEMU_PACKED VirtIOBalloonStat; typedef struct VirtIOBalloon { - VirtIODevice vdev; + VirtIODevice parent_obj; VirtQueue *ivq, *dvq, *svq; uint32_t num_pages; uint32_t actual;