[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH 0/3] qdev: Introduce QDEV_DECLARE_DEV_BUS_TYPES() macro
From: |
Philippe Mathieu-Daudé |
Subject: |
[RFC PATCH 0/3] qdev: Introduce QDEV_DECLARE_DEV_BUS_TYPES() macro |
Date: |
Mon, 13 Feb 2023 11:56:06 +0100 |
Experiment after discussing with Thomas around qdev_get_parent_bus:
ad356f64-dca0-8117-d22a-a530e620ddb0@redhat.com/">https://lore.kernel.org/qemu-devel/ad356f64-dca0-8117-d22a-a530e620ddb0@redhat.com/
When a QDev plug on a QBus, we'll always use qdev_get_parent_bus()
at least once with this type. Why not provide a consistent defined
macro instead of:
1/ adding an inlined helper such usb_bus_from_device()
or scsi_bus_from_device() with different type checks,
2/ open-code calls to qdev_get_parent_bus() with unsafe casts
?
This RFC series introduce a QDev-equivalent of QOM DECLARE_TYPES
macro, to be used with a (device, bus) tuple, and declaring the
equivalent device_GET_BUS() macro.
hw/usb/ is converted as an example.
Philippe Mathieu-Daudé (3):
hw/qdev: Introduce QDEV_DECLARE_DEV_BUS_TYPES() macro
hw/usb: Declare QOM macros using QDEV_DECLARE_DEV_BUS_TYPES()
hw/usb: Use USB_DEVICE_GET_BUS() macro
hw/usb/bus.c | 10 +++++-----
hw/usb/core.c | 6 +++---
hw/usb/dev-hub.c | 4 ++--
hw/usb/dev-serial.c | 10 +++++-----
hw/usb/hcd-xhci.c | 2 +-
include/hw/qdev-core.h | 28 ++++++++++++++++++++++++++++
include/hw/usb.h | 13 ++++---------
7 files changed, 48 insertions(+), 25 deletions(-)
--
2.38.1
- [RFC PATCH 0/3] qdev: Introduce QDEV_DECLARE_DEV_BUS_TYPES() macro,
Philippe Mathieu-Daudé <=