gpio/puv3_gpio: Convert sysbus init function to realize function
Use DeviceClass rather than SysBusDeviceClass in puv3_gpio_class_init(). Cc: gxt@mprc.pku.edu.cn Cc: peter.maydell@linaro.org Signed-off-by: Mao Zhongyi <maozhongyi@cmss.chinamobile.com> Signed-off-by: Zhang Shengju <zhangshengju@cmss.chinamobile.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 20181130093852.20739-8-maozhongyi@cmss.chinamobile.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
8ba7f72611
commit
671872b673
|
@ -99,36 +99,35 @@ static const MemoryRegionOps puv3_gpio_ops = {
|
||||||
.endianness = DEVICE_NATIVE_ENDIAN,
|
.endianness = DEVICE_NATIVE_ENDIAN,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int puv3_gpio_init(SysBusDevice *dev)
|
static void puv3_gpio_realize(DeviceState *dev, Error **errp)
|
||||||
{
|
{
|
||||||
PUV3GPIOState *s = PUV3_GPIO(dev);
|
PUV3GPIOState *s = PUV3_GPIO(dev);
|
||||||
|
SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
|
||||||
|
|
||||||
s->reg_GPLR = 0;
|
s->reg_GPLR = 0;
|
||||||
s->reg_GPDR = 0;
|
s->reg_GPDR = 0;
|
||||||
|
|
||||||
/* FIXME: these irqs not handled yet */
|
/* FIXME: these irqs not handled yet */
|
||||||
sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW0]);
|
sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW0]);
|
||||||
sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW1]);
|
sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW1]);
|
||||||
sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW2]);
|
sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW2]);
|
||||||
sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW3]);
|
sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW3]);
|
||||||
sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW4]);
|
sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW4]);
|
||||||
sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW5]);
|
sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW5]);
|
||||||
sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW6]);
|
sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW6]);
|
||||||
sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW7]);
|
sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW7]);
|
||||||
sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOHIGH]);
|
sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOHIGH]);
|
||||||
|
|
||||||
memory_region_init_io(&s->iomem, OBJECT(s), &puv3_gpio_ops, s, "puv3_gpio",
|
memory_region_init_io(&s->iomem, OBJECT(s), &puv3_gpio_ops, s, "puv3_gpio",
|
||||||
PUV3_REGS_OFFSET);
|
PUV3_REGS_OFFSET);
|
||||||
sysbus_init_mmio(dev, &s->iomem);
|
sysbus_init_mmio(sbd, &s->iomem);
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void puv3_gpio_class_init(ObjectClass *klass, void *data)
|
static void puv3_gpio_class_init(ObjectClass *klass, void *data)
|
||||||
{
|
{
|
||||||
SysBusDeviceClass *sdc = SYS_BUS_DEVICE_CLASS(klass);
|
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||||
|
|
||||||
sdc->init = puv3_gpio_init;
|
dc->realize = puv3_gpio_realize;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const TypeInfo puv3_gpio_info = {
|
static const TypeInfo puv3_gpio_info = {
|
||||||
|
|
Loading…
Reference in a new issue