lkml.org 
[lkml]   [2008]   [Oct]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 4/15 v5] PCI: make pci_alloc_child_bus() be able to handle NULL bridge
    Make pci_alloc_child_bus() be able to handle buses without bridge
    devices. Some devices such as SR-IOV devices use more than one bus
    number while there is no explicit bridge devices since they have
    internal routing mechanism.

    Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
    Cc: Randy Dunlap <randy.dunlap@oracle.com>
    Cc: Grant Grundler <grundler@parisc-linux.org>
    Cc: Alex Chiang <achiang@hp.com>
    Cc: Matthew Wilcox <matthew@wil.cx>
    Cc: Roland Dreier <rdreier@cisco.com>
    Cc: Greg KH <greg@kroah.com>
    Signed-off-by: Yu Zhao <yu.zhao@intel.com>

    ---
    drivers/pci/probe.c | 7 +++++--
    1 files changed, 5 insertions(+), 2 deletions(-)

    diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
    index db3e5a7..4b12b58 100644
    --- a/drivers/pci/probe.c
    +++ b/drivers/pci/probe.c
    @@ -401,12 +401,10 @@ static struct pci_bus *pci_alloc_child_bus(struct pci_bus *parent,
    if (!child)
    return NULL;

    - child->self = bridge;
    child->parent = parent;
    child->ops = parent->ops;
    child->sysdata = parent->sysdata;
    child->bus_flags = parent->bus_flags;
    - child->bridge = get_device(&bridge->dev);

    /* initialize some portions of the bus device, but don't register it
    * now as the parent is not properly set up yet. This device will get
    @@ -423,6 +421,11 @@ static struct pci_bus *pci_alloc_child_bus(struct pci_bus *parent,
    child->primary = parent->secondary;
    child->subordinate = 0xff;

    + if (!bridge)
    + return child;
    +
    + child->self = bridge;
    + child->bridge = get_device(&bridge->dev);
    /* Set up default resource pointers and names.. */
    for (i = 0; i < PCI_BRIDGE_RES_NUM; i++) {
    child->resource[i] = &bridge->resource[PCI_BRIDGE_RESOURCES+i];
    --
    1.5.6.4


    \
     
     \ /
      Last update: 2008-10-21 14:45    [W:0.021 / U:122.644 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site