assign exynos4210_pwm_init to exynos4210_pwm_info.instance_init
and drop the SysBusDeviceClass::init
Signed-off-by: xiaoqiang zhao
---
hw/timer/exynos4210_pwm.c | 10 --
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/hw/timer/exynos4210_pwm.c b/hw/timer/exynos4210_pwm.c
index 1c1a2b8..3ac2bf5 100644
--- a/hw/timer/exynos4210_pwm.c
+++ b/hw/timer/exynos4210_pwm.c
@@ -379,9 +379,10 @@ static const MemoryRegionOps exynos4210_pwm_ops = {
/*
* PWM timer initialization
*/
-static int exynos4210_pwm_init(SysBusDevice *dev)
+static void exynos4210_pwm_init(Object *obj)
{
-Exynos4210PWMState *s = EXYNOS4210_PWM(dev);
+Exynos4210PWMState *s = EXYNOS4210_PWM(obj);
+SysBusDevice *dev = SYS_BUS_DEVICE(obj);
int i;
QEMUBH *bh;
@@ -396,16 +397,12 @@ static int exynos4210_pwm_init(SysBusDevice *dev)
memory_region_init_io(>iomem, OBJECT(s), _pwm_ops, s,
"exynos4210-pwm", EXYNOS4210_PWM_REG_MEM_SIZE);
sysbus_init_mmio(dev, >iomem);
-
-return 0;
}
static void exynos4210_pwm_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
-SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
-k->init = exynos4210_pwm_init;
dc->reset = exynos4210_pwm_reset;
dc->vmsd = _exynos4210_pwm_state;
}
@@ -414,6 +411,7 @@ static const TypeInfo exynos4210_pwm_info = {
.name = TYPE_EXYNOS4210_PWM,
.parent= TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(Exynos4210PWMState),
+.instance_init = exynos4210_pwm_init,
.class_init= exynos4210_pwm_class_init,
};
--
2.1.4