Commit caae8032 authored by xiaoqiang zhao's avatar xiaoqiang zhao Committed by Peter Maydell
Browse files

hw/display: QOM'ify pl110.c



Drop the old Sysbus init and use instance_init and
DeviceClass::realize instead

Signed-off-by: default avatarxiaoqiang zhao <zxq_yx_007@163.com>
Message-id: 20161023091816.3839-5-zxq_yx_007@163.com
[PMM: added accidentally dropped blank line]
Reviewed-by: default avatarPeter Maydell <peter.maydell@linaro.org>
Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parent 8934515a
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -466,17 +466,16 @@ static const GraphicHwOps pl110_gfx_ops = {
    .gfx_update  = pl110_update_display,
};

static int pl110_initfn(SysBusDevice *sbd)
static void pl110_realize(DeviceState *dev, Error **errp)
{
    DeviceState *dev = DEVICE(sbd);
    PL110State *s = PL110(dev);
    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);

    memory_region_init_io(&s->iomem, OBJECT(s), &pl110_ops, s, "pl110", 0x1000);
    sysbus_init_mmio(sbd, &s->iomem);
    sysbus_init_irq(sbd, &s->irq);
    qdev_init_gpio_in(dev, pl110_mux_ctrl_set, 1);
    s->con = graphic_console_init(dev, 0, &pl110_gfx_ops, s);
    return 0;
}

static void pl110_init(Object *obj)
@@ -503,11 +502,10 @@ static void pl111_init(Object *obj)
static void pl110_class_init(ObjectClass *klass, void *data)
{
    DeviceClass *dc = DEVICE_CLASS(klass);
    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);

    k->init = pl110_initfn;
    set_bit(DEVICE_CATEGORY_DISPLAY, dc->categories);
    dc->vmsd = &vmstate_pl110;
    dc->realize = pl110_realize;
}

static const TypeInfo pl110_info = {