diff options
Diffstat (limited to 'hw/max7310.c')
-rw-r--r-- | hw/max7310.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/hw/max7310.c b/hw/max7310.c index 0cc3219..3a6bb96 100644 --- a/hw/max7310.c +++ b/hw/max7310.c @@ -187,25 +187,27 @@ static int max7310_init(I2CSlave *i2c) static void max7310_class_init(ObjectClass *klass, void *data) { + DeviceClass *dc = DEVICE_CLASS(klass); I2CSlaveClass *k = I2C_SLAVE_CLASS(klass); k->init = max7310_init; k->event = max7310_event; k->recv = max7310_rx; k->send = max7310_tx; + dc->reset = max7310_reset; + dc->vmsd = &vmstate_max7310; } -static DeviceInfo max7310_info = { - .name = "max7310", - .size = sizeof(MAX7310State), - .vmsd = &vmstate_max7310, - .reset = max7310_reset, - .class_init = max7310_class_init, +static TypeInfo max7310_info = { + .name = "max7310", + .parent = TYPE_I2C_SLAVE, + .instance_size = sizeof(MAX7310State), + .class_init = max7310_class_init, }; static void max7310_register_devices(void) { - i2c_register_slave(&max7310_info); + type_register_static(&max7310_info); } device_init(max7310_register_devices) |