From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N8XDO-0000TV-4g for qemu-devel@nongnu.org; Thu, 12 Nov 2009 05:47:46 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N8XDJ-0000O9-Dg for qemu-devel@nongnu.org; Thu, 12 Nov 2009 05:47:45 -0500 Received: from [199.232.76.173] (port=52477 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N8XDJ-0000Nv-3Q for qemu-devel@nongnu.org; Thu, 12 Nov 2009 05:47:41 -0500 Received: from mx1.redhat.com ([209.132.183.28]:46990) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N8XDI-0004mf-Kl for qemu-devel@nongnu.org; Thu, 12 Nov 2009 05:47:40 -0500 Date: Thu, 12 Nov 2009 12:45:08 +0200 From: "Michael S. Tsirkin" Message-ID: <20091112104508.GM3785@redhat.com> References: <1258005528-25383-1-git-send-email-yamahata@valinux.co.jp> <1258005528-25383-8-git-send-email-yamahata@valinux.co.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1258005528-25383-8-git-send-email-yamahata@valinux.co.jp> Subject: [Qemu-devel] Re: [PATCH 07/20] pci: remove pci_sub_bus() by open coding. List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Isaku Yamahata Cc: qemu-devel@nongnu.org On Thu, Nov 12, 2009 at 02:58:35PM +0900, Isaku Yamahata wrote: > Because pci_sub_bus() is used only once so eliminate it > by open coding as suggested by "Michael S. Tsirkin" . > > Signed-off-by: Isaku Yamahata Acked-by: Michael S. Tsirkin As a separate note. I wonder whether we can handle host bridge in a way that is more uniform with pci bridges, so we don't have to special-case it in e.g. pci_bus_num. Not sure yet how to do this or whether this is a good idea at all. > --- > hw/pci.c | 12 ++++-------- > 1 files changed, 4 insertions(+), 8 deletions(-) > > diff --git a/hw/pci.c b/hw/pci.c > index 4169d4f..bdd4063 100644 > --- a/hw/pci.c > +++ b/hw/pci.c > @@ -239,13 +239,6 @@ int pci_bus_num(PCIBus *s) > return s->parent_dev->config[PCI_SECONDARY_BUS]; > } > > -static uint8_t pci_sub_bus(PCIBus *s) > -{ > - if (!s->parent_dev) > - return 255; /* pci host bridge */ > - return s->parent_dev->config[PCI_SUBORDINATE_BUS]; > -} > - > static int get_pci_config_device(QEMUFile *f, void *pv, size_t size) > { > PCIDevice *s = container_of(pv, PCIDevice, config); > @@ -1179,7 +1172,10 @@ PCIBus *pci_find_bus(PCIBus *bus, int bus_num) > > /* try child bus */ > QLIST_FOREACH(sec, &bus->child, sibling) { > - if (pci_bus_num(sec) <= bus_num && bus_num <= pci_sub_bus(sec)) { > + > + if (!bus->parent_dev /* pci host bridge */ > + || (pci_bus_num(sec) <= bus_num && > + bus->parent_dev->config[PCI_SUBORDINATE_BUS])) { > return pci_find_bus(sec, bus_num); > } > } > -- > 1.6.0.2