From: Philippe Mathieu-Daudé Date: Fri, 24 Jan 2025 17:43:36 +0000 (+0100) Subject: hw/char/sh_serial: Delete fifo_timeout_timer in DeviceUnrealize X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a5844ea5530b664ea70852418fb751d63c15dba5;p=thirdparty%2Fqemu.git hw/char/sh_serial: Delete fifo_timeout_timer in DeviceUnrealize fifo_timeout_timer is created in the DeviceRealize handler, not in the instance_init one. For parity, delete it in DeviceUnrealize, rather than instance_finalize. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Peter Maydell Message-Id: <20250124175053.74461-2-philmd@linaro.org> --- diff --git a/hw/char/sh_serial.c b/hw/char/sh_serial.c index 6abd80386f..cdaeac7b70 100644 --- a/hw/char/sh_serial.c +++ b/hw/char/sh_serial.c @@ -434,9 +434,9 @@ static void sh_serial_realize(DeviceState *d, Error **errp) s->etu = NANOSECONDS_PER_SECOND / 9600; } -static void sh_serial_finalize(Object *obj) +static void sh_serial_unrealize(DeviceState *dev) { - SHSerialState *s = SH_SERIAL(obj); + SHSerialState *s = SH_SERIAL(dev); timer_del(&s->fifo_timeout_timer); } @@ -445,6 +445,10 @@ static void sh_serial_init(Object *obj) { } +static void sh_serial_finalize(Object *obj) +{ +} + static const Property sh_serial_properties[] = { DEFINE_PROP_CHR("chardev", SHSerialState, chr), DEFINE_PROP_UINT8("features", SHSerialState, feat, 0), @@ -456,6 +460,7 @@ static void sh_serial_class_init(ObjectClass *oc, const void *data) device_class_set_props(dc, sh_serial_properties); dc->realize = sh_serial_realize; + dc->unrealize = sh_serial_unrealize; device_class_set_legacy_reset(dc, sh_serial_reset); /* Reason: part of SuperH CPU/SoC, needs to be wired up */ dc->user_creatable = false;