All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Isaku Yamahata <yamahata@valinux.co.jp>
Cc: qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [PATCH 07/20] pci: remove pci_sub_bus() by open coding.
Date: Thu, 12 Nov 2009 12:45:08 +0200	[thread overview]
Message-ID: <20091112104508.GM3785@redhat.com> (raw)
In-Reply-To: <1258005528-25383-8-git-send-email-yamahata@valinux.co.jp>

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" <mst@redhat.com>.
> 
> Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>

Acked-by: Michael S. Tsirkin <mst@redhat.com>

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

  reply	other threads:[~2009-11-12 10:47 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-12  5:58 [Qemu-devel] [PATCH 00/20] PCI express clean up patches Isaku Yamahata
2009-11-12  5:58 ` [Qemu-devel] [PATCH 01/20] pci: fix pci_info_device() Isaku Yamahata
2009-11-12 10:17   ` [Qemu-devel] " Michael S. Tsirkin
2009-11-12  5:58 ` [Qemu-devel] [PATCH 02/20] pci: move pci_data_{read, write}() declaration from pci.h to pci_host.h Isaku Yamahata
2009-11-12 10:18   ` [Qemu-devel] " Michael S. Tsirkin
2009-11-12 12:44   ` Michael S. Tsirkin
2009-11-12  5:58 ` [Qemu-devel] [PATCH 03/20] pci: simplify pci_data_read(), pcie_mmcfg_data_read() Isaku Yamahata
2009-11-12 11:01   ` [Qemu-devel] " Michael S. Tsirkin
2009-11-12 11:15     ` Michael S. Tsirkin
2009-11-12 12:02       ` Michael S. Tsirkin
2009-11-12 12:14         ` Isaku Yamahata
2009-11-12  5:58 ` [Qemu-devel] [PATCH 04/20] pci: remove pci_addr_to_config() by open code Isaku Yamahata
2009-11-12 11:01   ` [Qemu-devel] " Michael S. Tsirkin
2009-11-12  5:58 ` [Qemu-devel] [PATCH 05/20] pci: rename pci_addr_to_dev(), pcie_mmcfg_addr_to_dev() Isaku Yamahata
2009-11-12 11:02   ` [Qemu-devel] " Michael S. Tsirkin
2009-11-12  5:58 ` [Qemu-devel] [PATCH 06/20] pci: shorten pci_host_{conf, data}_register_xxx function a bit Isaku Yamahata
2009-11-12 10:19   ` [Qemu-devel] " Michael S. Tsirkin
2009-11-12  5:58 ` [Qemu-devel] [PATCH 07/20] pci: remove pci_sub_bus() by open coding Isaku Yamahata
2009-11-12 10:45   ` Michael S. Tsirkin [this message]
2009-11-12 13:00     ` [Qemu-devel] " Isaku Yamahata
2009-11-12  5:58 ` [Qemu-devel] [PATCH 08/20] pci: s/pci_find_host_bus/pci_find_root_bus/g Isaku Yamahata
2009-11-12 10:45   ` [Qemu-devel] " Michael S. Tsirkin
2009-11-12  5:58 ` [Qemu-devel] [PATCH 09/20] pci_host: remove unnecessary & 0xff Isaku Yamahata
2009-11-12 10:32   ` [Qemu-devel] " Michael S. Tsirkin
2009-11-12  5:58 ` [Qemu-devel] [PATCH 10/20] pci: kill unnecessary included in pci.c Isaku Yamahata
2009-11-12 10:32   ` [Qemu-devel] " Michael S. Tsirkin
2009-11-12  5:58 ` [Qemu-devel] [PATCH 11/20] pci: clean up of pci_init_wmask() Isaku Yamahata
2009-11-12 10:18   ` [Qemu-devel] " Michael S. Tsirkin
2009-11-12  5:58 ` [Qemu-devel] [PATCH 12/20] pci: remove some unnecessary comment in pci.h Isaku Yamahata
2009-11-12 10:33   ` [Qemu-devel] " Michael S. Tsirkin
2009-11-12  5:58 ` [Qemu-devel] [PATCH 13/20] pci: move typedef, PCIHostState, PCIExpressHost to qemu-common.h Isaku Yamahata
2009-11-12 10:33   ` [Qemu-devel] " Michael S. Tsirkin
2009-11-12  5:58 ` [Qemu-devel] [PATCH 14/20] pci: remove unused constants Isaku Yamahata
2009-11-12 10:33   ` [Qemu-devel] " Michael S. Tsirkin
2009-11-12  5:58 ` [Qemu-devel] [PATCH 15/20] pci: clean up of pci_update_mappings() Isaku Yamahata
2009-11-12 10:34   ` [Qemu-devel] " Michael S. Tsirkin
2009-11-12  5:58 ` [Qemu-devel] [PATCH 16/20] pci: kill goto in pci_update_mappings() Isaku Yamahata
2009-11-12 12:06   ` [Qemu-devel] " Michael S. Tsirkin
2009-11-12 13:12     ` Isaku Yamahata
2009-11-12 13:13       ` Michael S. Tsirkin
2009-11-12 13:29       ` Michael S. Tsirkin
2009-11-12  5:58 ` [Qemu-devel] [PATCH 17/20] pci: remove magic number, 256 in pci.c Isaku Yamahata
2009-11-12 10:34   ` [Qemu-devel] " Michael S. Tsirkin
2009-11-12  5:58 ` [Qemu-devel] [PATCH 18/20] pci: fix pci_config_get_io_base() Isaku Yamahata
2009-11-12 10:36   ` [Qemu-devel] " Michael S. Tsirkin
2009-11-12  5:58 ` [Qemu-devel] [PATCH 19/20] pci: pci bridge related clean up Isaku Yamahata
2009-11-12 10:47   ` [Qemu-devel] " Michael S. Tsirkin
2009-11-12  5:58 ` [Qemu-devel] [PATCH 20/20] pci: remove goto in pci_bridge_filter() Isaku Yamahata
2009-11-12 12:08   ` [Qemu-devel] " Michael S. Tsirkin
2009-11-12 13:13     ` Isaku Yamahata
2009-11-12 12:58 ` [Qemu-devel] Re: [PATCH 00/20] PCI express clean up patches Michael S. Tsirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091112104508.GM3785@redhat.com \
    --to=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=yamahata@valinux.co.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.