diff options
author | Philippe Mathieu-Daudé <philmd@linaro.org> | 2025-01-24 18:43:36 +0100 |
---|---|---|
committer | Philippe Mathieu-Daudé <philmd@linaro.org> | 2025-06-10 10:58:59 +0200 |
commit | a5844ea5530b664ea70852418fb751d63c15dba5 (patch) | |
tree | f0220a9911f7454e997c0d1a950910734f24b332 | |
parent | bc98ffdc7577e55ab8373c579c28fe24d600c40f (diff) | |
download | qemu-a5844ea5530b664ea70852418fb751d63c15dba5.zip qemu-a5844ea5530b664ea70852418fb751d63c15dba5.tar.gz qemu-a5844ea5530b664ea70852418fb751d63c15dba5.tar.bz2 |
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é <philmd@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20250124175053.74461-2-philmd@linaro.org>
-rw-r--r-- | hw/char/sh_serial.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/hw/char/sh_serial.c b/hw/char/sh_serial.c index 6abd803..cdaeac7 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; |