[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH RFC 01/15] cpu/a9mpcore: QOM casting cleanup
From: |
Peter Crosthwaite |
Subject: |
Re: [Qemu-devel] [PATCH RFC 01/15] cpu/a9mpcore: QOM casting cleanup |
Date: |
Mon, 1 Jul 2013 19:17:45 +1000 |
On Mon, Jul 1, 2013 at 7:00 AM, Andreas Färber <address@hidden> wrote:
> From: Andreas Färber <address@hidden>
>
> Introduce type constant and cast macro and enforce its use by
> renaming A9MPPrivState::busdev field to parent_obj.
>
> Signed-off-by: Andreas Färber <address@hidden>
Reviewed-by: Peter Crosthwaite <address@hidden>
> ---
> hw/cpu/a9mpcore.c | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/hw/cpu/a9mpcore.c b/hw/cpu/a9mpcore.c
> index 0a1a10f..36254e9 100644
> --- a/hw/cpu/a9mpcore.c
> +++ b/hw/cpu/a9mpcore.c
> @@ -10,8 +10,15 @@
>
> #include "hw/sysbus.h"
>
> +#define TYPE_A9MPCORE_PRIV "a9mpcore_priv"
> +#define A9MPCORE_PRIV(obj) \
> + OBJECT_CHECK(A9MPPrivState, (obj), TYPE_A9MPCORE_PRIV)
> +
> typedef struct A9MPPrivState {
> - SysBusDevice busdev;
> + /*< private >*/
> + SysBusDevice parent_obj;
> + /*< public >*/
> +
> uint32_t num_cpu;
> MemoryRegion container;
> DeviceState *mptimer;
> @@ -29,7 +36,7 @@ static void a9mp_priv_set_irq(void *opaque, int irq, int
> level)
>
> static int a9mp_priv_init(SysBusDevice *dev)
> {
> - A9MPPrivState *s = FROM_SYSBUS(A9MPPrivState, dev);
> + A9MPPrivState *s = A9MPCORE_PRIV(dev);
> SysBusDevice *timerbusdev, *wdtbusdev, *gicbusdev, *scubusdev;
> int i;
>
> @@ -43,7 +50,7 @@ static int a9mp_priv_init(SysBusDevice *dev)
> sysbus_pass_irq(dev, gicbusdev);
>
> /* Pass through inbound GPIO lines to the GIC */
> - qdev_init_gpio_in(&s->busdev.qdev, a9mp_priv_set_irq, s->num_irq - 32);
> + qdev_init_gpio_in(DEVICE(dev), a9mp_priv_set_irq, s->num_irq - 32);
>
> s->scu = qdev_create(NULL, "a9-scu");
> qdev_prop_set_uint32(s->scu, "num-cpu", s->num_cpu);
> @@ -124,7 +131,7 @@ static void a9mp_priv_class_init(ObjectClass *klass, void
> *data)
> }
>
> static const TypeInfo a9mp_priv_info = {
> - .name = "a9mpcore_priv",
> + .name = TYPE_A9MPCORE_PRIV,
> .parent = TYPE_SYS_BUS_DEVICE,
> .instance_size = sizeof(A9MPPrivState),
> .class_init = a9mp_priv_class_init,
> --
> 1.8.1.4
>
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH RFC 01/15] cpu/a9mpcore: QOM casting cleanup,
Peter Crosthwaite <=