Revision 39bffca2 hw/ssi.c

b/hw/ssi.c
36 36
    return ssc->init(s);
37 37
}
38 38

  
39
void ssi_register_slave(DeviceInfo *info)
39
static void ssi_slave_class_init(ObjectClass *klass, void *data)
40 40
{
41
    assert(info->size >= sizeof(SSISlave));
42
    info->init = ssi_slave_init;
43
    info->bus_info = &ssi_bus_info;
44
    qdev_register_subclass(info, TYPE_SSI_SLAVE);
41
    DeviceClass *dc = DEVICE_CLASS(klass);
42
    dc->init = ssi_slave_init;
43
    dc->bus_info = &ssi_bus_info;
45 44
}
46 45

  
46
static TypeInfo ssi_slave_info = {
47
    .name = TYPE_SSI_SLAVE,
48
    .parent = TYPE_DEVICE,
49
    .class_init = ssi_slave_class_init,
50
    .class_size = sizeof(SSISlaveClass),
51
    .abstract = true,
52
};
53

  
47 54
DeviceState *ssi_create_slave(SSIBus *bus, const char *name)
48 55
{
49 56
    DeviceState *dev;
......
72 79
    ssc = SSI_SLAVE_GET_CLASS(slave);
73 80
    return ssc->transfer(slave, val);
74 81
}
82

  
83
static void register_ssi_slave(void)
84
{
85
    type_register_static(&ssi_slave_info);
86
}
87

  
88
device_init(register_ssi_slave);

Also available in: Unified diff