From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: qemu-devel@nongnu.org
Subject: [PULL v4 55/62] hw/usb/hcd-ehci: Introduce common properties macro for sysbus and pci
Date: Fri, 24 Apr 2026 21:25:43 +0200 [thread overview]
Message-ID: <20260424192543.22614-12-philmd@linaro.org> (raw)
In-Reply-To: <20260424192543.22614-1-philmd@linaro.org>
From: Jamin Lin <jamin_lin@aspeedtech.com>
EHCI properties are currently defined separately in both sysbus and
PCI implementations, leading to duplicated code for common fields
such as "maxframes".
Introduce DEFINE_EHCI_COMMON_PROPERTIES() to consolidate shared
property definitions and reuse them across both EHCISysBusState
and EHCIPCIState.
This reduces code duplication and keeps property definitions
consistent between different EHCI device variants.
No functional change.
Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20260424080508.53992-8-jamin_lin@aspeedtech.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/usb/hcd-ehci.h | 3 +++
hw/usb/hcd-ehci-pci.c | 2 +-
hw/usb/hcd-ehci-sysbus.c | 2 +-
3 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h
index 4234591cb41..d038ee1e310 100644
--- a/hw/usb/hcd-ehci.h
+++ b/hw/usb/hcd-ehci.h
@@ -307,6 +307,9 @@ struct EHCIState {
VMChangeStateEntry *vmstate;
};
+#define DEFINE_EHCI_COMMON_PROPERTIES(_state) \
+ DEFINE_PROP_UINT32("maxframes", _state, ehci.maxframes, 128)
+
extern const VMStateDescription vmstate_ehci;
void usb_ehci_init(EHCIState *s, DeviceState *dev);
diff --git a/hw/usb/hcd-ehci-pci.c b/hw/usb/hcd-ehci-pci.c
index 9febcc10314..fd35d253407 100644
--- a/hw/usb/hcd-ehci-pci.c
+++ b/hw/usb/hcd-ehci-pci.c
@@ -136,7 +136,7 @@ static void usb_ehci_pci_write_config(PCIDevice *dev, uint32_t addr,
}
static const Property ehci_pci_properties[] = {
- DEFINE_PROP_UINT32("maxframes", EHCIPCIState, ehci.maxframes, 128),
+ DEFINE_EHCI_COMMON_PROPERTIES(EHCIPCIState),
};
static const VMStateDescription vmstate_ehci_pci = {
diff --git a/hw/usb/hcd-ehci-sysbus.c b/hw/usb/hcd-ehci-sysbus.c
index b31032bbf39..7f7c7f8a2f1 100644
--- a/hw/usb/hcd-ehci-sysbus.c
+++ b/hw/usb/hcd-ehci-sysbus.c
@@ -31,7 +31,7 @@ static const VMStateDescription vmstate_ehci_sysbus = {
};
static const Property ehci_sysbus_properties[] = {
- DEFINE_PROP_UINT32("maxframes", EHCISysBusState, ehci.maxframes, 128),
+ DEFINE_EHCI_COMMON_PROPERTIES(EHCISysBusState),
DEFINE_PROP_BOOL("companion-enable", EHCISysBusState, ehci.companion_enable,
false),
};
--
2.53.0
next prev parent reply other threads:[~2026-04-24 19:27 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-24 19:25 [PULL v4 00/62] Misc HW patches for 2026-04-22 Philippe Mathieu-Daudé
2026-04-24 19:25 ` [PULL v4 02/62] hw/core/cpu: Expose CPUState::start_powered_off docstring Philippe Mathieu-Daudé
2026-04-24 19:25 ` [PULL v4 28/62] hw: add compat machines for 11.1 Philippe Mathieu-Daudé
2026-04-24 19:25 ` [PULL v4 32/62] qom: Restrict compat properties API to system emulation Philippe Mathieu-Daudé
2026-04-24 19:25 ` [PULL v4 48/62] hw/cxl: Define cxl_fmws_get_all_sorted() stub Philippe Mathieu-Daudé
2026-04-24 19:25 ` [PULL v4 49/62] hw/arm/virt: Do not select Kconfig symbol PCI_EXPRESS Philippe Mathieu-Daudé
2026-04-24 19:25 ` [PULL v4 50/62] hw/usb/hcd-ehci: Remove unused EHCIfstn structure and dead code Philippe Mathieu-Daudé
2026-04-24 19:25 ` [PULL v4 51/62] hw/usb/hcd-ehci.h: Fix coding style issues reported by checkpatch Philippe Mathieu-Daudé
2026-04-24 19:25 ` [PULL v4 52/62] hw/usb/hcd-ehci.c: " Philippe Mathieu-Daudé
2026-04-24 19:25 ` [PULL v4 53/62] hw/usb/hcd-ehci.c: Replace fprintf(stderr, ...) with qemu_log_mask(LOG_GUEST_ERROR) Philippe Mathieu-Daudé
2026-04-24 19:25 ` [PULL v4 54/62] hw/usb/hcd-ehci: Replace DPRINTF debug logs with trace events Philippe Mathieu-Daudé
2026-04-24 19:25 ` Philippe Mathieu-Daudé [this message]
2026-04-25 16:59 ` [PULL v4 00/62] Misc HW patches for 2026-04-22 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=20260424192543.22614-12-philmd@linaro.org \
--to=philmd@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.