From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53589) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UjwMX-0008IP-Kc for qemu-devel@nongnu.org; Tue, 04 Jun 2013 14:53:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UjwMW-0007mo-L2 for qemu-devel@nongnu.org; Tue, 04 Jun 2013 14:53:41 -0400 Received: from mail-wi0-x22a.google.com ([2a00:1450:400c:c05::22a]:39099) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UjwMW-0007mi-Fg for qemu-devel@nongnu.org; Tue, 04 Jun 2013 14:53:40 -0400 Received: by mail-wi0-f170.google.com with SMTP id hr14so4194151wib.1 for ; Tue, 04 Jun 2013 11:53:39 -0700 (PDT) Sender: Paolo Bonzini From: Paolo Bonzini Date: Tue, 4 Jun 2013 20:52:22 +0200 Message-Id: <1370371954-8479-28-git-send-email-pbonzini@redhat.com> In-Reply-To: <1370371954-8479-1-git-send-email-pbonzini@redhat.com> References: <1370371954-8479-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH 27/39] pci_bridge: split exit and instance_finalize List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: mst@redhat.com Signed-off-by: Paolo Bonzini --- hw/pci-bridge/pci_bridge_dev.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/hw/pci-bridge/pci_bridge_dev.c b/hw/pci-bridge/pci_bridge_dev.c index c1aab15..3f06e56 100644 --- a/hw/pci-bridge/pci_bridge_dev.c +++ b/hw/pci-bridge/pci_bridge_dev.c @@ -90,9 +90,16 @@ static void pci_bridge_dev_exitfn(PCIDevice *dev) } slotid_cap_cleanup(dev); shpc_cleanup(dev, &bridge_dev->bar); + pci_bridge_exitfn(dev); +} + +static void pci_bridge_dev_instance_finalize(Object *obj) +{ + PCIDevice *dev = PCI_DEVICE(obj); + PCIBridge *br = DO_UPCAST(PCIBridge, dev, dev); + PCIBridgeDev *bridge_dev = DO_UPCAST(PCIBridgeDev, bridge, br); shpc_free(dev); memory_region_destroy(&bridge_dev->bar); - pci_bridge_exitfn(dev); pci_bridge_free(dev); } @@ -152,6 +159,7 @@ static const TypeInfo pci_bridge_dev_info = { .parent = TYPE_PCI_DEVICE, .instance_size = sizeof(PCIBridgeDev), .class_init = pci_bridge_dev_class_init, + .instance_finalize = pci_bridge_dev_instance_finalize, }; static void pci_bridge_dev_register(void) -- 1.8.1.4