From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: "Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Peter Maydell" <peter.maydell@linaro.org>
Subject: [PULL 02/24] hw/char/sh_serial: Convert to TypeInfo
Date: Tue, 10 Jun 2025 14:56:11 +0200 [thread overview]
Message-ID: <20250610125633.24411-3-philmd@linaro.org> (raw)
In-Reply-To: <20250610125633.24411-1-philmd@linaro.org>
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>
---
hw/char/sh_serial.c | 23 +++++++++++------------
1 file changed, 11 insertions(+), 12 deletions(-)
diff --git a/hw/char/sh_serial.c b/hw/char/sh_serial.c
index cdaeac7b709..30447fa018a 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)
--
2.49.0
next prev parent reply other threads:[~2025-06-10 13:05 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-10 12:56 [PULL 00/24] Misc HW patches for 2025-06-10 Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 01/24] hw/char/sh_serial: Delete fifo_timeout_timer in DeviceUnrealize Philippe Mathieu-Daudé
2025-06-10 12:56 ` Philippe Mathieu-Daudé [this message]
2025-06-10 12:56 ` [PULL 03/24] hw/pci-host/raven: Remove is-legacy-prep property Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 04/24] hw/pci-host/raven: Revert "raven: Move BIOS loading from board code to PCI host" Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 05/24] hw/core/resetcontainer: Consolidate OBJECT_DECLARE_SIMPLE_TYPE Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 06/24] hw/hyperv/balloon: Consolidate OBJECT_DEFINE_SIMPLE_TYPE_WITH_INTERFACES Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 07/24] hw/ppc/e500: Move clock and TB frequency to machine class Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 08/24] hw/net/fsl_etsec: Set default MAC address Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 09/24] hw/ppc/e500: Use SysBusDevice API to access TYPE_CCSR's internal resources Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 10/24] pc-bios: ensure installed ROMs don't have execute permissions Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 11/24] MAINTAINERS: Update Akihiko Odaki's affiliation Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 12/24] tests/functional: Add a test for the Arduino UNO machine Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 13/24] accel/hvf: Fix TYPE_HVF_ACCEL instance size Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 14/24] hw/core/cpu: Move CacheType to general cpu.h Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 15/24] hw/gpio/pca9552: Avoid using g_newa() Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 16/24] backends/tpm: Avoid using g_alloca() Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 17/24] tests/unit/test-char: " Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 18/24] hw/virtio/virtio-mem: Fix definition of VirtIOMEMClass Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 19/24] hw/virtio/virtio-pmem: Fix definition of VirtIOPMEMClass Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 20/24] hw/gpio/aspeed: Fix definition of AspeedGPIOClass Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 21/24] hw/riscv/riscv-iommu: Remove definition of RISCVIOMMU[Pci|Sys]Class Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 22/24] hw/misc/stm32_rcc: Fix stm32_rcc_write() arguments order Philippe Mathieu-Daudé
2025-07-01 10:31 ` Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 23/24] hw/net/i82596: Update datasheet URL Philippe Mathieu-Daudé
2025-06-10 12:56 ` [PULL 24/24] hw/net/i82596: Factor configure function out Philippe Mathieu-Daudé
2025-06-11 18:22 ` [PULL 00/24] Misc HW patches for 2025-06-10 Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250610125633.24411-3-philmd@linaro.org \
--to=philmd@linaro.org \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).