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 "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;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user