[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 09/11] ds1338: QOM'ify
From: |
Peter Crosthwaite |
Subject: |
Re: [Qemu-devel] [PATCH 09/11] ds1338: QOM'ify |
Date: |
Sun, 9 Feb 2014 11:45:57 +1000 |
On Sat, Feb 1, 2014 at 12:34 AM, Andreas Färber <address@hidden> wrote:
> Replace usages of FROM_I2C_SLAVE() with QOM cast macro.
> Rename parent field.
>
> Signed-off-by: Andreas Färber <address@hidden>
Reviewed-by: Peter Crosthwaite <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
>
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH 09/11] ds1338: QOM'ify,
Peter Crosthwaite <=