qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH qom-next v1 4/6] misc: max111x: QOM casting swee


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH qom-next v1 4/6] misc: max111x: QOM casting sweep
Date: Tue, 04 Mar 2014 21:51:32 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0

Am 12.02.2014 01:29, schrieb Peter Crosthwaite:
> Define and use QOM cast macro. Removes some usages of legacy casting
> systems.
> 
> Signed-off-by: Peter Crosthwaite <address@hidden>
> ---
> 
>  hw/misc/max111x.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/hw/misc/max111x.c b/hw/misc/max111x.c
> index 9e50e7e..8c78979 100644
> --- a/hw/misc/max111x.c
> +++ b/hw/misc/max111x.c
> @@ -24,6 +24,9 @@ typedef struct {
>  
>  #define TYPE_MAX_111X "max111x"
>  
> +#define MAX_111X(obj) \
> +    OBJECT_CHECK(MAX111xState, (obj), TYPE_MAX_111X)
> +
>  #define TYPE_MAX_1110 "max1110"
>  #define TYPE_MAX_1111 "max1111"
>  
> @@ -97,7 +100,7 @@ static void max111x_write(MAX111xState *s, uint32_t value)
>  
>  static uint32_t max111x_transfer(SSISlave *dev, uint32_t value)
>  {
> -    MAX111xState *s = FROM_SSI_SLAVE(MAX111xState, dev);
> +    MAX111xState *s = MAX_111X(dev);
>      max111x_write(s, value);
>      return max111x_read(s);
>  }
> @@ -122,7 +125,7 @@ static const VMStateDescription vmstate_max111x = {
>  
>  static int max111x_init(SSISlave *dev, int inputs)
>  {
> -    MAX111xState *s = FROM_SSI_SLAVE(MAX111xState, dev);
> +    MAX111xState *s = MAX_111X(dev);
>  
>      qdev_init_gpio_out(DEVICE(dev), &s->interrupt, 1);
>  
> @@ -154,7 +157,7 @@ static int max1111_init(SSISlave *dev)
>  
>  void max111x_set_input(DeviceState *dev, int line, uint8_t value)
>  {
> -    MAX111xState *s = FROM_SSI_SLAVE(MAX111xState, SSI_SLAVE_FROM_QDEV(dev));
> +    MAX111xState *s = MAX_111X(dev);
>      assert(line >= 0 && line < s->inputs);
>      s->input[line] = value;
>  }

Adding:

diff --git a/hw/misc/max111x.c b/hw/misc/max111x.c
index 8c78979..7aacfff 100644
--- a/hw/misc/max111x.c
+++ b/hw/misc/max111x.c
@@ -13,7 +13,8 @@
 #include "hw/ssi.h"

 typedef struct {
-    SSISlave ssidev;
+    SSISlave parent_obj;
+
     qemu_irq interrupt;
     uint8_t tb1, rb2, rb3;
     int cycle;
@@ -111,7 +112,7 @@ static const VMStateDescription vmstate_max111x = {
     .minimum_version_id = 1,
     .minimum_version_id_old = 1,
     .fields      = (VMStateField[]) {
-        VMSTATE_SSI_SLAVE(ssidev, MAX111xState),
+        VMSTATE_SSI_SLAVE(parent_obj, MAX111xState),
         VMSTATE_UINT8(tb1, MAX111xState),
         VMSTATE_UINT8(rb2, MAX111xState),
         VMSTATE_UINT8(rb3, MAX111xState),

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

[Prev in Thread] Current Thread [Next in Thread]