qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] hw/pci-bridge: pci_expander_bridge: Fix wrong type and rework inheritance.
@ 2023-04-20 14:27 Jonathan Cameron via
  2023-04-20 14:27 ` [PATCH 1/2] hw/pci-bridge: pci_expander_bridge fix type in pxb_cxl_dev_reset() Jonathan Cameron via
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Jonathan Cameron via @ 2023-04-20 14:27 UTC (permalink / raw)
  To: qemu-devel, Peter Maydell; +Cc: Michael S . Tsirkin, Fan Ni, linuxarm

Peter Maydell highlighted an incorrect conversion to TYPE_PXB_DEVICE from
a device that didn't have that a an ancestor type. PXB_DEV() used instead of
PXB_CXL_DEV()/

https://lore.kernel.org/qemu-devel/CAFEAcA-+de+eeLCE4YsAw1O-Qyd_4W1Ra05mGDsU_-3a6d92qw@mail.gmail.com/

During the discussion it became clear that the inheritance of the various
TYPE_PXB*_DEVICE was unusual. This patchset first provides the minimal
fix then cleans up the inheritance of types based on functionality.

There is also a rename to TYPE_PXB*_DEV to allow removal of some boilerplate.

Before this series
TYPE_PXB_DEVICE, TYPE_PXB_PCIE_DEVICE and TYPE_PXB_CXL_DEVICE all
had TYPE_PCI_DEVICE as their direct parent though they shared a common
struct PXBDev for their state.  As a result this state contained
some data that was irrelevant for some the types.

This series changes to
TYPE_PXB_CXL_DEV has a parent of TYPE_PXB_PCIE_DEV
TYPE_PXB_PCIE_DEV has a parent of TYPE_PXB_DEV
TYPE_PXB_DEV continues to have a parent of TYPE_PCI_DEVICE.

Each of the TYPE_PXB*_DEV has a state structure adding those elements
to their parent that they need. This also allowed dropping a wrapping
structure for the CXL state as the PXBCXLDev structure already provides
the equivalent grouping.

Patches are similar to those posted in the thread but rebased on v8.0.0.

Jonathan Cameron (2):
  hw/pci-bridge: pci_expander_bridge fix type in pxb_cxl_dev_reset()
  hw/pci-bridge: Make PCIe and CXL PXB Devices inherit from TYPE_PXB_DEV

 hw/acpi/cxl.c                       | 11 +++---
 hw/cxl/cxl-host.c                   |  4 +-
 hw/pci-bridge/pci_expander_bridge.c | 61 ++++++++++-------------------
 include/hw/cxl/cxl.h                |  4 +-
 include/hw/pci/pci_bridge.h         | 28 +++++++++----
 5 files changed, 50 insertions(+), 58 deletions(-)

-- 
2.37.2



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2023-04-22 10:03 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-20 14:27 [PATCH 0/2] hw/pci-bridge: pci_expander_bridge: Fix wrong type and rework inheritance Jonathan Cameron via
2023-04-20 14:27 ` [PATCH 1/2] hw/pci-bridge: pci_expander_bridge fix type in pxb_cxl_dev_reset() Jonathan Cameron via
2023-04-21 14:03   ` Thomas Huth
2023-04-21 14:24   ` Peter Maydell
2023-04-20 14:27 ` [PATCH 2/2] hw/pci-bridge: Make PCIe and CXL PXB Devices inherit from TYPE_PXB_DEV Jonathan Cameron via
2023-04-21 14:46   ` Thomas Huth
2023-04-21  8:19 ` [PATCH 0/2] hw/pci-bridge: pci_expander_bridge: Fix wrong type and rework inheritance Michael S. Tsirkin
2023-04-21  8:59   ` Peter Maydell
2023-04-21 12:19     ` Jonathan Cameron via
2023-04-21 12:45       ` Thomas Huth
2023-04-22 10:02       ` Michael S. Tsirkin

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).