Revision db895a1e hw/misc/pvpanic.c

b/hw/misc/pvpanic.c
86 86
    },
87 87
};
88 88

  
89
static int pvpanic_isa_initfn(ISADevice *dev)
89
static void pvpanic_isa_initfn(Object *obj)
90 90
{
91
    PVPanicState *s = ISA_PVPANIC_DEVICE(obj);
92

  
93
    memory_region_init_io(&s->io, &pvpanic_ops, s, "pvpanic", 1);
94
}
95

  
96
static void pvpanic_isa_realizefn(DeviceState *dev, Error **errp)
97
{
98
    ISADevice *d = ISA_DEVICE(dev);
91 99
    PVPanicState *s = ISA_PVPANIC_DEVICE(dev);
92 100
    static bool port_configured;
93 101
    FWCfgState *fw_cfg;
94 102

  
95
    memory_region_init_io(&s->io, &pvpanic_ops, s, "pvpanic", 1);
96
    isa_register_ioport(dev, &s->io, s->ioport);
103
    isa_register_ioport(d, &s->io, s->ioport);
97 104

  
98 105
    if (!port_configured) {
99 106
        fw_cfg = fw_cfg_find();
......
104 111
            port_configured = true;
105 112
        }
106 113
    }
107

  
108
    return 0;
109 114
}
110 115

  
111 116
int pvpanic_init(ISABus *bus)
......
122 127
static void pvpanic_isa_class_init(ObjectClass *klass, void *data)
123 128
{
124 129
    DeviceClass *dc = DEVICE_CLASS(klass);
125
    ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
126 130

  
127
    ic->init = pvpanic_isa_initfn;
131
    dc->realize = pvpanic_isa_realizefn;
128 132
    dc->no_user = 1;
129 133
    dc->props = pvpanic_isa_properties;
130 134
}
......
133 137
    .name          = TYPE_ISA_PVPANIC_DEVICE,
134 138
    .parent        = TYPE_ISA_DEVICE,
135 139
    .instance_size = sizeof(PVPanicState),
140
    .instance_init = pvpanic_isa_initfn,
136 141
    .class_init    = pvpanic_isa_class_init,
137 142
};
138 143

  

Also available in: Unified diff