mirror of https://gitee.com/openkylin/qemu.git
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:
parent
96cd459498
commit
296097f7dd
|
@ -25,6 +25,7 @@
|
|||
#include "qemu/osdep.h"
|
||||
#include "hw/sysbus.h"
|
||||
#include "trace.h"
|
||||
#include "qemu/error-report.h"
|
||||
|
||||
typedef struct {
|
||||
MemoryRegion iomem;
|
||||
|
@ -113,7 +114,7 @@ typedef struct {
|
|||
NvRamState nvram;
|
||||
} SysBusNvRamState;
|
||||
|
||||
static int nvram_sysbus_initfn(SysBusDevice *dev)
|
||||
static void nvram_sysbus_realize(DeviceState *dev, Error **errp)
|
||||
{
|
||||
SysBusNvRamState *sys = DS1225Y(dev);
|
||||
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,
|
||||
"nvram", s->chip_size);
|
||||
sysbus_init_mmio(dev, &s->iomem);
|
||||
sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->iomem);
|
||||
|
||||
/* Read current file */
|
||||
file = s->filename ? fopen(s->filename, "rb") : NULL;
|
||||
if (file) {
|
||||
/* Read nvram contents */
|
||||
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);
|
||||
}
|
||||
nvram_post_load(s, 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static Property nvram_sysbus_properties[] = {
|
||||
|
@ -148,9 +147,8 @@ static Property nvram_sysbus_properties[] = {
|
|||
static void nvram_sysbus_class_init(ObjectClass *klass, void *data)
|
||||
{
|
||||
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->props = nvram_sysbus_properties;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue