[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 36/61] virtio-balloon : cleanup : QOM casts.
From: |
fred . konrad |
Subject: |
[Qemu-devel] [PATCH 36/61] virtio-balloon : cleanup : QOM casts. |
Date: |
Mon, 7 Jan 2013 19:40:49 +0100 |
From: KONRAD Frederic <address@hidden>
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 <address@hidden>
---
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;
--
1.7.11.7
- [Qemu-devel] [PATCH 13/61] virtio-blk : cleanup : use QOM cast., (continued)
- [Qemu-devel] [PATCH 13/61] virtio-blk : cleanup : use QOM cast., fred . konrad, 2013/01/07
- [Qemu-devel] [PATCH 20/61] virtio-net : cleanup : init and exit function., fred . konrad, 2013/01/07
- [Qemu-devel] [PATCH 18/61] virtio-net-s390 : switch to the new API., fred . konrad, 2013/01/07
- [Qemu-devel] [PATCH 23/61] virtio-scsi : don't use pointer for configuration., fred . konrad, 2013/01/07
- [Qemu-devel] [PATCH 21/61] virtio-net : cleanup : remove qdev field., fred . konrad, 2013/01/07
- [Qemu-devel] [PATCH 19/61] virtio-net : cleanup : use QOM cast., fred . konrad, 2013/01/07
- [Qemu-devel] [PATCH 30/61] virtio-scsi : cleanup : init and exit functions., fred . konrad, 2013/01/07
- [Qemu-devel] [PATCH 33/61] virtio-balloon : add the virtio-balloon device., fred . konrad, 2013/01/07
- [Qemu-devel] [PATCH 34/61] virtio-balloon-pci : switch to the new API., fred . konrad, 2013/01/07
- [Qemu-devel] [PATCH 32/61] virtio-balloon : show the VirtIOBalloon structure., fred . konrad, 2013/01/07
- [Qemu-devel] [PATCH 36/61] virtio-balloon : cleanup : QOM casts.,
fred . konrad <=
- [Qemu-devel] [PATCH 35/61] virtio-balloon : cleanup : init and exit function., fred . konrad, 2013/01/07
- [Qemu-devel] [PATCH 40/61] virtio-rng : add virtio-rng device., fred . konrad, 2013/01/07
- [Qemu-devel] [PATCH 41/61] virtio-rng-s390 : switch to the new API., fred . konrad, 2013/01/07
- [Qemu-devel] [PATCH 43/61] virtio-rng.c : cleanup : init and exit functions., fred . konrad, 2013/01/07
- [Qemu-devel] [PATCH 49/61] virtio-serial-s390 : switch to the new API., fred . konrad, 2013/01/07
- [Qemu-devel] [PATCH 48/61] virtio-serial-pci : switch to the new API., fred . konrad, 2013/01/07
- [Qemu-devel] [PATCH 50/61] virtio-serial : cleanup : init and exit functions., fred . konrad, 2013/01/07
- [Qemu-devel] [PATCH 42/61] virtio-rng-pci : switch to the new API., fred . konrad, 2013/01/07
- [Qemu-devel] [PATCH 47/61] virtio-serial : add the virtio-serial device., fred . konrad, 2013/01/07
- [Qemu-devel] [PATCH 61/61] virtio : cleanup : init and exit function., fred . konrad, 2013/01/07