aboutsummaryrefslogtreecommitdiff
path: root/hw/arm/musicpal.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/arm/musicpal.c')
-rw-r--r--hw/arm/musicpal.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
index 458b1cb..6aec84a 100644
--- a/hw/arm/musicpal.c
+++ b/hw/arm/musicpal.c
@@ -959,6 +959,17 @@ static void mv88w8618_pit_init(Object *obj)
sysbus_init_mmio(dev, &s->iomem);
}
+static void mv88w8618_pit_finalize(Object *obj)
+{
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+ mv88w8618_pit_state *s = MV88W8618_PIT(dev);
+ int i;
+
+ for (i = 0; i < 4; i++) {
+ ptimer_free(s->timer[i].ptimer);
+ }
+}
+
static const VMStateDescription mv88w8618_timer_vmsd = {
.name = "timer",
.version_id = 1,
@@ -994,6 +1005,7 @@ static const TypeInfo mv88w8618_pit_info = {
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(mv88w8618_pit_state),
.instance_init = mv88w8618_pit_init,
+ .instance_finalize = mv88w8618_pit_finalize,
.class_init = mv88w8618_pit_class_init,
};