[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 18/49] twl92230: QOM'ify
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PULL v2 18/49] twl92230: QOM'ify |
Date: |
Mon, 17 Feb 2014 23:24:28 +0100 |
Replace usages of FROM_I2C_SLAVE() and direct parent field accesses with
QOM cast macro. Rename parent field.
Add missing braces while at it.
Reviewed-by: Peter Crosthwaite <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
---
hw/timer/twl92230.c | 35 +++++++++++++++++++++--------------
1 file changed, 21 insertions(+), 14 deletions(-)
diff --git a/hw/timer/twl92230.c b/hw/timer/twl92230.c
index f3ea365..85d5990 100644
--- a/hw/timer/twl92230.c
+++ b/hw/timer/twl92230.c
@@ -27,8 +27,11 @@
#define VERBOSE 1
-typedef struct {
- I2CSlave i2c;
+#define TYPE_TWL92230 "twl92230"
+#define TWL92230(obj) OBJECT_CHECK(MenelausState, (obj), TYPE_TWL92230)
+
+typedef struct MenelausState {
+ I2CSlave parent_obj;
int firstbyte;
uint8_t reg;
@@ -127,7 +130,8 @@ static void menelaus_rtc_hz(void *opaque)
static void menelaus_reset(I2CSlave *i2c)
{
- MenelausState *s = (MenelausState *) i2c;
+ MenelausState *s = TWL92230(i2c);
+
s->reg = 0x00;
s->vcore[0] = 0x0c; /* XXX: X-loader needs 0x8c? check! */
@@ -492,8 +496,9 @@ static void menelaus_write(void *opaque, uint8_t addr,
uint8_t value)
break;
case MENELAUS_DEVICE_OFF:
- if (value & 1)
- menelaus_reset(&s->i2c);
+ if (value & 1) {
+ menelaus_reset(I2C_SLAVE(s));
+ }
break;
case MENELAUS_OSC_CTRL:
@@ -708,7 +713,7 @@ static void menelaus_write(void *opaque, uint8_t addr,
uint8_t value)
static void menelaus_event(I2CSlave *i2c, enum i2c_event event)
{
- MenelausState *s = (MenelausState *) i2c;
+ MenelausState *s = TWL92230(i2c);
if (event == I2C_START_SEND)
s->firstbyte = 1;
@@ -716,7 +721,8 @@ static void menelaus_event(I2CSlave *i2c, enum i2c_event
event)
static int menelaus_tx(I2CSlave *i2c, uint8_t data)
{
- MenelausState *s = (MenelausState *) i2c;
+ MenelausState *s = TWL92230(i2c);
+
/* Interpret register address byte */
if (s->firstbyte) {
s->reg = data;
@@ -729,7 +735,7 @@ static int menelaus_tx(I2CSlave *i2c, uint8_t data)
static int menelaus_rx(I2CSlave *i2c)
{
- MenelausState *s = (MenelausState *) i2c;
+ MenelausState *s = TWL92230(i2c);
return menelaus_read(s, s->reg ++);
}
@@ -834,23 +840,24 @@ static const VMStateDescription vmstate_menelaus = {
VMSTATE_STRUCT(rtc.alm, MenelausState, 0, vmstate_menelaus_tm,
struct tm),
VMSTATE_UINT8(pwrbtn_state, MenelausState),
- VMSTATE_I2C_SLAVE(i2c, MenelausState),
+ VMSTATE_I2C_SLAVE(parent_obj, MenelausState),
VMSTATE_END_OF_LIST()
}
};
static int twl92230_init(I2CSlave *i2c)
{
- MenelausState *s = FROM_I2C_SLAVE(MenelausState, i2c);
+ DeviceState *dev = DEVICE(i2c);
+ MenelausState *s = TWL92230(i2c);
s->rtc.hz_tm = timer_new_ms(rtc_clock, menelaus_rtc_hz, s);
/* Three output pins plus one interrupt pin. */
- qdev_init_gpio_out(&i2c->qdev, s->out, 4);
+ qdev_init_gpio_out(dev, s->out, 4);
/* Three input pins plus one power-button pin. */
- qdev_init_gpio_in(&i2c->qdev, menelaus_gpio_set, 4);
+ qdev_init_gpio_in(dev, menelaus_gpio_set, 4);
- menelaus_reset(&s->i2c);
+ menelaus_reset(i2c);
return 0;
}
@@ -868,7 +875,7 @@ static void twl92230_class_init(ObjectClass *klass, void
*data)
}
static const TypeInfo twl92230_info = {
- .name = "twl92230",
+ .name = TYPE_TWL92230,
.parent = TYPE_I2C_SLAVE,
.instance_size = sizeof(MenelausState),
.class_init = twl92230_class_init,
--
1.8.4.5
- [Qemu-devel] [PULL v2 06/49] qom-test: Test shutdown in addition to startup, (continued)
- [Qemu-devel] [PULL v2 06/49] qom-test: Test shutdown in addition to startup, Andreas Färber, 2014/02/17
- [Qemu-devel] [PULL v2 10/49] pxa2xx: QOM'ify I2C slave, Andreas Färber, 2014/02/17
- [Qemu-devel] [PULL v2 11/49] tosa: QOM'ify DAC, Andreas Färber, 2014/02/17
- [Qemu-devel] [PULL v2 12/49] z2: QOM'ify AER915, Andreas Färber, 2014/02/17
- [Qemu-devel] [PULL v2 13/49] wm8750: QOM'ify, Andreas Färber, 2014/02/17
- [Qemu-devel] [PULL v2 09/49] i2c: Rename i2c_bus to I2CBus, Andreas Färber, 2014/02/17
- [Qemu-devel] [PULL v2 14/49] ssd0303: QOM'ify, Andreas Färber, 2014/02/17
- [Qemu-devel] [PULL v2 15/49] max7310: QOM'ify, Andreas Färber, 2014/02/17
- [Qemu-devel] [PULL v2 16/49] lm832x: QOM'ify, Andreas Färber, 2014/02/17
- [Qemu-devel] [PULL v2 17/49] ds1338: QOM'ify, Andreas Färber, 2014/02/17
- [Qemu-devel] [PULL v2 18/49] twl92230: QOM'ify,
Andreas Färber <=
- [Qemu-devel] [PULL v2 19/49] i2c: Drop FROM_I2C_SLAVE() macro, Andreas Färber, 2014/02/17
- [Qemu-devel] [PULL v2 21/49] tests: Add vmxnet3 qtest, Andreas Färber, 2014/02/17
- [Qemu-devel] [PULL v2 20/49] tests: Add e1000 qtest, Andreas Färber, 2014/02/17
- [Qemu-devel] [PULL v2 24/49] tests: Add eepro100 qtest, Andreas Färber, 2014/02/17
- [Qemu-devel] [PULL v2 26/49] tests: Add virtio-net qtest, Andreas Färber, 2014/02/17
- [Qemu-devel] [PULL v2 28/49] tests: Add ipoctal232 qtest, Andreas Färber, 2014/02/17
- [Qemu-devel] [PULL v2 22/49] tests: Add rtl8139 qtest, Andreas Färber, 2014/02/17
- [Qemu-devel] [PULL v2 25/49] tests: Add ne2000 qtest, Andreas Färber, 2014/02/17
- [Qemu-devel] [PULL v2 23/49] tests: Add pcnet qtest, Andreas Färber, 2014/02/17
- [Qemu-devel] [PULL v2 27/49] tests: Add tpci200 qtest, Andreas Färber, 2014/02/17