nvram/ds1225y: Convert sysbus init function to realize function

Use DeviceClass rather than SysBusDeviceClass in
nvram_sysbus_class_init().

Cc: pbonzini@redhat.com
Cc: marcandre.lureau@redhat.com

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-15-maozhongyi@cmss.chinamobile.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Mao Zhongyi 2018-12-13 13:48:00 +00:00 committed by Peter Maydell
parent 96cd459498
commit 296097f7dd

View File

@ -25,6 +25,7 @@
#include "qemu/osdep.h" #include "qemu/osdep.h"
#include "hw/sysbus.h" #include "hw/sysbus.h"
#include "trace.h" #include "trace.h"
#include "qemu/error-report.h"
typedef struct { typedef struct {
MemoryRegion iomem; MemoryRegion iomem;
@ -113,7 +114,7 @@ typedef struct {
NvRamState nvram; NvRamState nvram;
} SysBusNvRamState; } SysBusNvRamState;
static int nvram_sysbus_initfn(SysBusDevice *dev) static void nvram_sysbus_realize(DeviceState *dev, Error **errp)
{ {
SysBusNvRamState *sys = DS1225Y(dev); SysBusNvRamState *sys = DS1225Y(dev);
NvRamState *s = &sys->nvram; NvRamState *s = &sys->nvram;
@ -123,20 +124,18 @@ static int nvram_sysbus_initfn(SysBusDevice *dev)
memory_region_init_io(&s->iomem, OBJECT(s), &nvram_ops, s, memory_region_init_io(&s->iomem, OBJECT(s), &nvram_ops, s,
"nvram", s->chip_size); "nvram", s->chip_size);
sysbus_init_mmio(dev, &s->iomem); sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->iomem);
/* Read current file */ /* Read current file */
file = s->filename ? fopen(s->filename, "rb") : NULL; file = s->filename ? fopen(s->filename, "rb") : NULL;
if (file) { if (file) {
/* Read nvram contents */ /* Read nvram contents */
if (fread(s->contents, s->chip_size, 1, file) != 1) { if (fread(s->contents, s->chip_size, 1, file) != 1) {
printf("nvram_sysbus_initfn: short read\n"); error_report("nvram_sysbus_realize: short read");
} }
fclose(file); fclose(file);
} }
nvram_post_load(s, 0); nvram_post_load(s, 0);
return 0;
} }
static Property nvram_sysbus_properties[] = { static Property nvram_sysbus_properties[] = {
@ -148,9 +147,8 @@ static Property nvram_sysbus_properties[] = {
static void nvram_sysbus_class_init(ObjectClass *klass, void *data) static void nvram_sysbus_class_init(ObjectClass *klass, void *data)
{ {
DeviceClass *dc = DEVICE_CLASS(klass); DeviceClass *dc = DEVICE_CLASS(klass);
SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
k->init = nvram_sysbus_initfn; dc->realize = nvram_sysbus_realize;
dc->vmsd = &vmstate_nvram; dc->vmsd = &vmstate_nvram;
dc->props = nvram_sysbus_properties; dc->props = nvram_sysbus_properties;
} }