summaryrefslogtreecommitdiff
path: root/hw/z2.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/z2.c')
-rw-r--r--hw/z2.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/hw/z2.c b/hw/z2.c
index b12f97472..654ac55f5 100644
--- a/hw/z2.c
+++ b/hw/z2.c
@@ -176,17 +176,19 @@ static VMStateDescription vmstate_zipit_lcd_state = {
static void zipit_lcd_class_init(ObjectClass *klass, void *data)
{
+ DeviceClass *dc = DEVICE_CLASS(klass);
SSISlaveClass *k = SSI_SLAVE_CLASS(klass);
k->init = zipit_lcd_init;
k->transfer = zipit_lcd_transfer;
+ dc->vmsd = &vmstate_zipit_lcd_state;
}
-static DeviceInfo zipit_lcd_info = {
- .name = "zipit-lcd",
- .size = sizeof(ZipitLCD),
- .vmsd = &vmstate_zipit_lcd_state,
- .class_init = zipit_lcd_class_init,
+static TypeInfo zipit_lcd_info = {
+ .name = "zipit-lcd",
+ .parent = TYPE_SSI_SLAVE,
+ .instance_size = sizeof(ZipitLCD),
+ .class_init = zipit_lcd_class_init,
};
typedef struct {
@@ -275,19 +277,21 @@ static VMStateDescription vmstate_aer915_state = {
static void aer915_class_init(ObjectClass *klass, void *data)
{
+ DeviceClass *dc = DEVICE_CLASS(klass);
I2CSlaveClass *k = I2C_SLAVE_CLASS(klass);
k->init = aer915_init;
k->event = aer915_event;
k->recv = aer915_recv;
k->send = aer915_send;
+ dc->vmsd = &vmstate_aer915_state;
}
-static DeviceInfo aer915_info = {
- .name = "aer915",
- .size = sizeof(AER915State),
- .vmsd = &vmstate_aer915_state,
- .class_init = aer915_class_init,
+static TypeInfo aer915_info = {
+ .name = "aer915",
+ .parent = TYPE_I2C_SLAVE,
+ .instance_size = sizeof(AER915State),
+ .class_init = aer915_class_init,
};
static void z2_init(ram_addr_t ram_size,
@@ -340,8 +344,8 @@ static void z2_init(ram_addr_t ram_size,
NULL,
qdev_get_gpio_in(cpu->gpio, Z2_GPIO_SD_DETECT));
- ssi_register_slave(&zipit_lcd_info);
- i2c_register_slave(&aer915_info);
+ type_register_static(&zipit_lcd_info);
+ type_register_static(&aer915_info);
z2_lcd = ssi_create_slave(cpu->ssp[1], "zipit-lcd");
bus = pxa2xx_i2c_bus(cpu->i2c[0]);
i2c_create_slave(bus, "aer915", 0x55);