Message ID | 1391178886-17277-5-git-send-email-afaerber@suse.de |
---|---|
State | New |
Headers | show |
On Sat, Feb 1, 2014 at 12:34 AM, Andreas Färber <afaerber@suse.de> wrote: > Replace usages of FROM_I2C_SLAVE() with QOM cast macro. > > Signed-off-by: Andreas Färber <afaerber@suse.de> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> > --- > hw/arm/z2.c | 18 ++++++++++++------ > 1 file changed, 12 insertions(+), 6 deletions(-) > > diff --git a/hw/arm/z2.c b/hw/arm/z2.c > index 97ec381..69c4d38 100644 > --- a/hw/arm/z2.c > +++ b/hw/arm/z2.c > @@ -193,15 +193,20 @@ static const TypeInfo zipit_lcd_info = { > .class_init = zipit_lcd_class_init, > }; > > -typedef struct { > - I2CSlave i2c; > +#define TYPE_AER915 "aer915" > +#define AER915(obj) OBJECT_CHECK(AER915State, (obj), TYPE_AER915) > + > +typedef struct AER915State { > + I2CSlave parent_obj; > + > int len; > uint8_t buf[3]; > } AER915State; > > static int aer915_send(I2CSlave *i2c, uint8_t data) > { > - AER915State *s = FROM_I2C_SLAVE(AER915State, i2c); > + AER915State *s = AER915(i2c); > + > s->buf[s->len] = data; > if (s->len++ > 2) { > DPRINTF("%s: message too long (%i bytes)\n", > @@ -219,7 +224,8 @@ static int aer915_send(I2CSlave *i2c, uint8_t data) > > static void aer915_event(I2CSlave *i2c, enum i2c_event event) > { > - AER915State *s = FROM_I2C_SLAVE(AER915State, i2c); > + AER915State *s = AER915(i2c); > + > switch (event) { > case I2C_START_SEND: > s->len = 0; > @@ -238,8 +244,8 @@ static void aer915_event(I2CSlave *i2c, enum i2c_event event) > > static int aer915_recv(I2CSlave *slave) > { > + AER915State *s = AER915(slave); > int retval = 0x00; > - AER915State *s = FROM_I2C_SLAVE(AER915State, slave); > > switch (s->buf[0]) { > /* Return hardcoded battery voltage, > @@ -290,7 +296,7 @@ static void aer915_class_init(ObjectClass *klass, void *data) > } > > static const TypeInfo aer915_info = { > - .name = "aer915", > + .name = TYPE_AER915, > .parent = TYPE_I2C_SLAVE, > .instance_size = sizeof(AER915State), > .class_init = aer915_class_init, > -- > 1.8.4.5 > >
diff --git a/hw/arm/z2.c b/hw/arm/z2.c index 97ec381..69c4d38 100644 --- a/hw/arm/z2.c +++ b/hw/arm/z2.c @@ -193,15 +193,20 @@ static const TypeInfo zipit_lcd_info = { .class_init = zipit_lcd_class_init, }; -typedef struct { - I2CSlave i2c; +#define TYPE_AER915 "aer915" +#define AER915(obj) OBJECT_CHECK(AER915State, (obj), TYPE_AER915) + +typedef struct AER915State { + I2CSlave parent_obj; + int len; uint8_t buf[3]; } AER915State; static int aer915_send(I2CSlave *i2c, uint8_t data) { - AER915State *s = FROM_I2C_SLAVE(AER915State, i2c); + AER915State *s = AER915(i2c); + s->buf[s->len] = data; if (s->len++ > 2) { DPRINTF("%s: message too long (%i bytes)\n", @@ -219,7 +224,8 @@ static int aer915_send(I2CSlave *i2c, uint8_t data) static void aer915_event(I2CSlave *i2c, enum i2c_event event) { - AER915State *s = FROM_I2C_SLAVE(AER915State, i2c); + AER915State *s = AER915(i2c); + switch (event) { case I2C_START_SEND: s->len = 0; @@ -238,8 +244,8 @@ static void aer915_event(I2CSlave *i2c, enum i2c_event event) static int aer915_recv(I2CSlave *slave) { + AER915State *s = AER915(slave); int retval = 0x00; - AER915State *s = FROM_I2C_SLAVE(AER915State, slave); switch (s->buf[0]) { /* Return hardcoded battery voltage, @@ -290,7 +296,7 @@ static void aer915_class_init(ObjectClass *klass, void *data) } static const TypeInfo aer915_info = { - .name = "aer915", + .name = TYPE_AER915, .parent = TYPE_I2C_SLAVE, .instance_size = sizeof(AER915State), .class_init = aer915_class_init,
Replace usages of FROM_I2C_SLAVE() with QOM cast macro. Signed-off-by: Andreas Färber <afaerber@suse.de> --- hw/arm/z2.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-)