[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 07/11] max7310: QOM'ify
From: |
Peter Crosthwaite |
Subject: |
Re: [Qemu-devel] [PATCH 07/11] max7310: QOM'ify |
Date: |
Sun, 9 Feb 2014 11:43:24 +1000 |
On Sat, Feb 1, 2014 at 12:34 AM, Andreas Färber <address@hidden> wrote:
> Replace FROM_I2C_SLAVE() usages with QOM cast macro.
> Rename parent field.
>
> Signed-off-by: Andreas Färber <address@hidden>
Reviewed-by: Peter Crosthwaite <address@hidden>
> ---
> hw/gpio/max7310.c | 23 ++++++++++++++---------
> 1 file changed, 14 insertions(+), 9 deletions(-)
>
> diff --git a/hw/gpio/max7310.c b/hw/gpio/max7310.c
> index 59b2877..cfcd89c 100644
> --- a/hw/gpio/max7310.c
> +++ b/hw/gpio/max7310.c
> @@ -9,8 +9,12 @@
>
> #include "hw/i2c/i2c.h"
>
> -typedef struct {
> - I2CSlave i2c;
> +#define TYPE_MAX7310 "max7310"
> +#define MAX7310(obj) OBJECT_CHECK(MAX7310State, (obj), TYPE_MAX7310)
> +
> +typedef struct MAX7310State {
> + I2CSlave parent_obj;
> +
> int i2c_command_byte;
> int len;
>
> @@ -25,7 +29,8 @@ typedef struct {
>
> static void max7310_reset(DeviceState *dev)
> {
> - MAX7310State *s = FROM_I2C_SLAVE(MAX7310State, I2C_SLAVE(dev));
> + MAX7310State *s = MAX7310(dev);
> +
> s->level &= s->direction;
> s->direction = 0xff;
> s->polarity = 0xf0;
> @@ -35,7 +40,7 @@ static void max7310_reset(DeviceState *dev)
>
> static int max7310_rx(I2CSlave *i2c)
> {
> - MAX7310State *s = (MAX7310State *) i2c;
> + MAX7310State *s = MAX7310(i2c);
>
> switch (s->command) {
> case 0x00: /* Input port */
> @@ -70,7 +75,7 @@ static int max7310_rx(I2CSlave *i2c)
>
> static int max7310_tx(I2CSlave *i2c, uint8_t data)
> {
> - MAX7310State *s = (MAX7310State *) i2c;
> + MAX7310State *s = MAX7310(i2c);
> uint8_t diff;
> int line;
>
> @@ -125,7 +130,7 @@ static int max7310_tx(I2CSlave *i2c, uint8_t data)
>
> static void max7310_event(I2CSlave *i2c, enum i2c_event event)
> {
> - MAX7310State *s = (MAX7310State *) i2c;
> + MAX7310State *s = MAX7310(i2c);
> s->len = 0;
>
> switch (event) {
> @@ -156,7 +161,7 @@ static const VMStateDescription vmstate_max7310 = {
> VMSTATE_UINT8(polarity, MAX7310State),
> VMSTATE_UINT8(status, MAX7310State),
> VMSTATE_UINT8(command, MAX7310State),
> - VMSTATE_I2C_SLAVE(i2c, MAX7310State),
> + VMSTATE_I2C_SLAVE(parent_obj, MAX7310State),
> VMSTATE_END_OF_LIST()
> }
> };
> @@ -177,7 +182,7 @@ static void max7310_gpio_set(void *opaque, int line, int
> level)
> * but also accepts sequences that are not SMBus so return an I2C device. */
> static int max7310_init(I2CSlave *i2c)
> {
> - MAX7310State *s = FROM_I2C_SLAVE(MAX7310State, i2c);
> + MAX7310State *s = MAX7310(i2c);
>
> qdev_init_gpio_in(&i2c->qdev, max7310_gpio_set, 8);
> qdev_init_gpio_out(&i2c->qdev, s->handler, 8);
> @@ -199,7 +204,7 @@ static void max7310_class_init(ObjectClass *klass, void
> *data)
> }
>
> static const TypeInfo max7310_info = {
> - .name = "max7310",
> + .name = TYPE_MAX7310,
> .parent = TYPE_I2C_SLAVE,
> .instance_size = sizeof(MAX7310State),
> .class_init = max7310_class_init,
> --
> 1.8.4.5
>
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH 07/11] max7310: QOM'ify,
Peter Crosthwaite <=