Commit 7624894549 for qemu.org

commit 7624894549804de5bf9ca389fa5e933dfb93e48d
Author: Helge Deller <deller@gmx.de>
Date:   Sat Mar 7 20:52:32 2026 +0100

    hw/hppa: Avoid leaking a diva-gsp device

    Create a Diva-gsp unconditionally on all 64-bit PCI machines.
    The A400 usually comes with a Diva card. The C3700 has a built-in
    SUPERIO chip, which we haven't implemented yet, so running with an
    emulated Diva is the best we can do for now.

    Signed-off-by: Helge Deller <deller@gmx.de>
    Suggested-by: Peter Maydell <peter.maydell@linaro.org>
    Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
    Message-ID: <20260307195243.8813-2-deller@kernel.org>
    Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
index 6b69a304c2..ec63dc1297 100644
--- a/hw/hppa/machine.c
+++ b/hw/hppa/machine.c
@@ -382,18 +382,15 @@ static void machine_HP_common_init_tail(MachineState *machine, PCIBus *pci_bus,

     if (pci_bus && hppa_is_pa20(&cpu[0]->env)) {
         /* BMC board: HP Diva GSP PCI card */
-        dev = qdev_new("diva-gsp");
-        if (dev && !object_property_get_bool(OBJECT(dev), "disable", NULL)) {
-            pci_dev = pci_new_multifunction(PCI_DEVFN(2, 0), "diva-gsp");
-            if (!lasi_dev) {
-                /* bind default keyboard/serial to Diva card */
-                qdev_prop_set_chr(DEVICE(pci_dev), "chardev1", serial_hd(0));
-                qdev_prop_set_chr(DEVICE(pci_dev), "chardev2", serial_hd(1));
-                qdev_prop_set_chr(DEVICE(pci_dev), "chardev3", serial_hd(2));
-                qdev_prop_set_chr(DEVICE(pci_dev), "chardev4", serial_hd(3));
-            }
-            pci_realize_and_unref(pci_dev, pci_bus, &error_fatal);
+        pci_dev = pci_new_multifunction(PCI_DEVFN(2, 0), "diva-gsp");
+        if (!lasi_dev) {
+            /* bind default keyboard/serial to Diva card */
+            qdev_prop_set_chr(DEVICE(pci_dev), "chardev1", serial_hd(0));
+            qdev_prop_set_chr(DEVICE(pci_dev), "chardev2", serial_hd(1));
+            qdev_prop_set_chr(DEVICE(pci_dev), "chardev3", serial_hd(2));
+            qdev_prop_set_chr(DEVICE(pci_dev), "chardev4", serial_hd(3));
         }
+        pci_realize_and_unref(pci_dev, pci_bus, &error_fatal);
     }

     /* create USB OHCI controller for USB keyboard & mouse on Astro machines */