diff options
| author | Philippe Mathieu-Daudé <philmd@linaro.org> | 2025-01-24 18:46:27 +0100 |
|---|---|---|
| committer | Philippe Mathieu-Daudé <philmd@linaro.org> | 2025-06-10 10:58:59 +0200 |
| commit | 65561d9393cfa21eb696bb759122641a569de63a (patch) | |
| tree | bd0da20e37dfac78cfae47789e5286011d54bce6 | |
| parent | a5844ea5530b664ea70852418fb751d63c15dba5 (diff) | |
| download | focaccia-qemu-65561d9393cfa21eb696bb759122641a569de63a.tar.gz focaccia-qemu-65561d9393cfa21eb696bb759122641a569de63a.zip | |
hw/char/sh_serial: Convert to TypeInfo
QOM types are now registered using as TypeInfo via DEFINE_TYPES() or type_init(). Update TYPE_SH_SERIAL, removing the empty QOM instance_init/finalize handlers. This was definitely wrong, because OBJECT_DEFINE_TYPE() is only for cases where the class needs its own virtual methods or some other per-class state in its own class struct. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20250124175053.74461-3-philmd@linaro.org>
| -rw-r--r-- | hw/char/sh_serial.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/hw/char/sh_serial.c b/hw/char/sh_serial.c index cdaeac7b70..30447fa018 100644 --- a/hw/char/sh_serial.c +++ b/hw/char/sh_serial.c @@ -78,10 +78,6 @@ struct SHSerialState { qemu_irq bri; }; -typedef struct {} SHSerialStateClass; - -OBJECT_DEFINE_TYPE(SHSerialState, sh_serial, SH_SERIAL, SYS_BUS_DEVICE) - static void sh_serial_clear_fifo(SHSerialState *s) { memset(s->rx_fifo, 0, SH_RX_FIFO_LENGTH); @@ -441,14 +437,6 @@ static void sh_serial_unrealize(DeviceState *dev) timer_del(&s->fifo_timeout_timer); } -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), @@ -465,3 +453,14 @@ static void sh_serial_class_init(ObjectClass *oc, const void *data) /* Reason: part of SuperH CPU/SoC, needs to be wired up */ dc->user_creatable = false; } + +static const TypeInfo sh_serial_types[] = { + { + .name = TYPE_SH_SERIAL, + .parent = TYPE_SYS_BUS_DEVICE, + .instance_size = sizeof(SHSerialState), + .class_init = sh_serial_class_init, + }, +}; + +DEFINE_TYPES(sh_serial_types) |