On 11/21/24 10:38, Cédric Le Goater wrote:
On 11/20/24 22:56, Peter Xu wrote:
container_get() is going to become strict on not allowing to return a
non-container.

Switch the e500 user to use object_resolve_path_component() explicitly.

Cc: Bharat Bhushan <r65...@freescale.com>
Cc: qemu-...@nongnu.org
Signed-off-by: Peter Xu <pet...@redhat.com>
---
  hw/pci-host/ppce500.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/pci-host/ppce500.c b/hw/pci-host/ppce500.c
index b70631045a..65233b9e3f 100644
--- a/hw/pci-host/ppce500.c
+++ b/hw/pci-host/ppce500.c
@@ -418,8 +418,8 @@ static const VMStateDescription vmstate_ppce500_pci = {
  static void e500_pcihost_bridge_realize(PCIDevice *d, Error **errp)
  {
      PPCE500PCIBridgeState *b = PPC_E500_PCI_BRIDGE(d);
-    PPCE500CCSRState *ccsr = CCSR(container_get(qdev_get_machine(),
-                                  "/e500-ccsr"));
+    PPCE500CCSRState *ccsr = CCSR(
+        object_resolve_path_component(qdev_get_machine(), "e500-ccsr"));


why not simply use :

       CCSR(object_resolve_path("/machine/e500-ccsr", NULL));


I guess we want to avoid the absolute paths. If so,

Reviewed-by: Cédric Le Goater <c...@redhat.com>


We might want to convert these lookups to object_resolve_path_component
too, not in this patchset.

hw/i386/acpi-build.c:    host = 
PCI_HOST_BRIDGE(object_resolve_path("/machine/i440fx", NULL));
hw/i386/acpi-build.c:        host = 
PCI_HOST_BRIDGE(object_resolve_path("/machine/q35", NULL));
target/i386/kvm/kvm.c:        (MemoryRegion *) 
object_resolve_path("/machine/smram", NULL);
target/i386/tcg/sysemu/tcg-cpu.c:        (MemoryRegion *) 
object_resolve_path("/machine/smram", NULL);

Thanks,

C.


Reply via email to