[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 09/11] ds1338: QOM'ify
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH 09/11] ds1338: QOM'ify |
Date: |
Fri, 31 Jan 2014 15:34:44 +0100 |
Replace usages of FROM_I2C_SLAVE() with QOM cast macro.
Rename parent field.
Signed-off-by: Andreas Färber <address@hidden>
---
hw/timer/ds1338.c | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/hw/timer/ds1338.c b/hw/timer/ds1338.c
index 8987cdc..bb2f8ee 100644
--- a/hw/timer/ds1338.c
+++ b/hw/timer/ds1338.c
@@ -23,8 +23,12 @@
#define HOURS_PM 0x20
#define CTRL_OSF 0x20
-typedef struct {
- I2CSlave i2c;
+#define TYPE_DS1338 "ds1338"
+#define DS1338(obj) OBJECT_CHECK(DS1338State, (obj), TYPE_DS1338)
+
+typedef struct DS1338State {
+ I2CSlave parent_obj;
+
int64_t offset;
uint8_t wday_offset;
uint8_t nvram[NVRAM_SIZE];
@@ -38,7 +42,7 @@ static const VMStateDescription vmstate_ds1338 = {
.minimum_version_id = 1,
.minimum_version_id_old = 1,
.fields = (VMStateField[]) {
- VMSTATE_I2C_SLAVE(i2c, DS1338State),
+ VMSTATE_I2C_SLAVE(parent_obj, DS1338State),
VMSTATE_INT64(offset, DS1338State),
VMSTATE_UINT8_V(wday_offset, DS1338State, 2),
VMSTATE_UINT8_ARRAY(nvram, DS1338State, NVRAM_SIZE),
@@ -90,7 +94,7 @@ static void inc_regptr(DS1338State *s)
static void ds1338_event(I2CSlave *i2c, enum i2c_event event)
{
- DS1338State *s = FROM_I2C_SLAVE(DS1338State, i2c);
+ DS1338State *s = DS1338(i2c);
switch (event) {
case I2C_START_RECV:
@@ -111,7 +115,7 @@ static void ds1338_event(I2CSlave *i2c, enum i2c_event
event)
static int ds1338_recv(I2CSlave *i2c)
{
- DS1338State *s = FROM_I2C_SLAVE(DS1338State, i2c);
+ DS1338State *s = DS1338(i2c);
uint8_t res;
res = s->nvram[s->ptr];
@@ -121,7 +125,8 @@ static int ds1338_recv(I2CSlave *i2c)
static int ds1338_send(I2CSlave *i2c, uint8_t data)
{
- DS1338State *s = FROM_I2C_SLAVE(DS1338State, i2c);
+ DS1338State *s = DS1338(i2c);
+
if (s->addr_byte) {
s->ptr = data & (NVRAM_SIZE - 1);
s->addr_byte = false;
@@ -198,7 +203,7 @@ static int ds1338_init(I2CSlave *i2c)
static void ds1338_reset(DeviceState *dev)
{
- DS1338State *s = FROM_I2C_SLAVE(DS1338State, I2C_SLAVE(dev));
+ DS1338State *s = DS1338(dev);
/* The clock is running and synchronized with the host */
s->offset = 0;
@@ -222,7 +227,7 @@ static void ds1338_class_init(ObjectClass *klass, void
*data)
}
static const TypeInfo ds1338_info = {
- .name = "ds1338",
+ .name = TYPE_DS1338,
.parent = TYPE_I2C_SLAVE,
.instance_size = sizeof(DS1338State),
.class_init = ds1338_class_init,
--
1.8.4.5
- [Qemu-devel] [PATCH 00/11] I2C QOM'ification, part 1, Andreas Färber, 2014/01/31
- [Qemu-devel] [PATCH 01/11] i2c: Rename i2c_bus to I2CBus, Andreas Färber, 2014/01/31
- [Qemu-devel] [PATCH 02/11] pxa2xx: QOM'ify I2C slave, Andreas Färber, 2014/01/31
- [Qemu-devel] [PATCH 03/11] tosa: QOM'ify DAC, Andreas Färber, 2014/01/31
- [Qemu-devel] [PATCH 04/11] z2: QOM'ify AER915, Andreas Färber, 2014/01/31
- [Qemu-devel] [PATCH 08/11] lm832x: QOM'ify, Andreas Färber, 2014/01/31
- [Qemu-devel] [PATCH 05/11] wm8750: QOM'ify, Andreas Färber, 2014/01/31
- [Qemu-devel] [PATCH 07/11] max7310: QOM'ify, Andreas Färber, 2014/01/31
- [Qemu-devel] [PATCH 09/11] ds1338: QOM'ify,
Andreas Färber <=
- [Qemu-devel] [PATCH 06/11] ssd0303: QOM'ify, Andreas Färber, 2014/01/31
- [Qemu-devel] [PATCH 11/11] i2c: Drop FROM_I2C_SLAVE() macro, Andreas Färber, 2014/01/31
- [Qemu-devel] [PATCH 10/11] twl92230: QOM'ify, Andreas Färber, 2014/01/31