From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:52807) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TkdVT-0000aI-ER for qemu-devel@nongnu.org; Mon, 17 Dec 2012 11:25:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TkdVO-0008If-5b for qemu-devel@nongnu.org; Mon, 17 Dec 2012 11:25:31 -0500 Received: from mail-ia0-f173.google.com ([209.85.210.173]:35712) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TkdVO-0008Ib-0W for qemu-devel@nongnu.org; Mon, 17 Dec 2012 11:25:26 -0500 Received: by mail-ia0-f173.google.com with SMTP id w21so5709966iac.4 for ; Mon, 17 Dec 2012 08:25:25 -0800 (PST) Sender: Paolo Bonzini From: Paolo Bonzini Date: Mon, 17 Dec 2012 17:24:42 +0100 Message-Id: <1355761490-10073-8-git-send-email-pbonzini@redhat.com> In-Reply-To: <1355761490-10073-1-git-send-email-pbonzini@redhat.com> References: <1355761490-10073-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH 07/15] pci: do not export pci_bus_reset List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: aliguori@us.ibm.com, mst@redhat.com qbus_reset_all can be used instead. There is no semantic change because pcibus_reset returns 1 and takes care of the device tree traversal. Signed-off-by: Paolo Bonzini --- hw/pci.c | 10 +++------- hw/pci.h | 1 - hw/pci_bridge.c | 2 +- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/hw/pci.c b/hw/pci.c index ace9368..436982e 100644 --- a/hw/pci.c +++ b/hw/pci.c @@ -209,8 +209,9 @@ void pci_device_reset(PCIDevice *dev) * Trigger pci bus reset under a given bus. * To be called on RST# assert. */ -void pci_bus_reset(PCIBus *bus) +static int pcibus_reset(BusState *qbus) { + PCIBus *bus = DO_UPCAST(PCIBus, qbus, qbus); int i; for (i = 0; i < ARRAY_SIZE(bus->devices); ++i) { @@ -221,13 +222,8 @@ void pci_bus_reset(PCIBus *bus) for (i = 0; i < bus->nirq; i++) { assert(bus->irq_count[i] == 0); } -} - -static int pcibus_reset(BusState *qbus) -{ - pci_bus_reset(DO_UPCAST(PCIBus, qbus, qbus)); - /* topology traverse is done by pci_bus_reset(). + /* topology traverse is done in the pci_device_reset() loop above. Tell qbus/qdev walker not to traverse the tree */ return 1; } diff --git a/hw/pci.h b/hw/pci.h index 4da0c2a..88fd4a3 100644 --- a/hw/pci.h +++ b/hw/pci.h @@ -334,7 +334,6 @@ void pci_bus_fire_intx_routing_notifier(PCIBus *bus); void pci_device_set_intx_routing_notifier(PCIDevice *dev, PCIINTxRoutingNotifier notifier); void pci_device_reset(PCIDevice *dev); -void pci_bus_reset(PCIBus *bus); PCIDevice *pci_nic_init(NICInfo *nd, const char *default_model, const char *default_devaddr); diff --git a/hw/pci_bridge.c b/hw/pci_bridge.c index 4680501..30ed34e 100644 --- a/hw/pci_bridge.c +++ b/hw/pci_bridge.c @@ -234,7 +234,7 @@ void pci_bridge_write_config(PCIDevice *d, newctl = pci_get_word(d->config + PCI_BRIDGE_CONTROL); if (~oldctl & newctl & PCI_BRIDGE_CTL_BUS_RESET) { /* Trigger hot reset on 0->1 transition. */ - pci_bus_reset(&s->sec_bus); + qbus_reset_all(&s->sec_bus.qbus); } } -- 1.8.0.2