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