lkml.org 
[lkml]   [2012]   [Feb]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 04/39] PCI: rename pci_host_bridge() to find_pci_root_bridge()
    Date
    Separate find_pci_root_bus out.

    -v2: according to Bjorn, remove extra null checking.

    Signed-off-by: Yinghai Lu <yinghai@kernel.org>
    ---
    drivers/pci/host-bridge.c | 18 +++++++++++++-----
    1 files changed, 13 insertions(+), 5 deletions(-)

    diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c
    index dfaff3f..b3ddcc5 100644
    --- a/drivers/pci/host-bridge.c
    +++ b/drivers/pci/host-bridge.c
    @@ -16,15 +16,22 @@ void add_to_pci_host_bridges(struct pci_host_bridge *bridge)
    list_add_tail(&bridge->list, &pci_host_bridges);
    }

    -static struct pci_host_bridge *pci_host_bridge(struct pci_dev *dev)
    +static struct pci_bus *find_pci_root_bus(struct pci_dev *dev)
    {
    struct pci_bus *bus;
    - struct pci_host_bridge *bridge;

    bus = dev->bus;
    while (bus->parent)
    bus = bus->parent;

    + return bus;
    +}
    +
    +static struct pci_host_bridge *find_pci_host_bridge(struct pci_dev *dev)
    +{
    + struct pci_bus *bus = find_pci_root_bus(dev);
    + struct pci_host_bridge *bridge;
    +
    list_for_each_entry(bridge, &pci_host_bridges, list) {
    if (bridge->bus == bus)
    return bridge;
    @@ -42,7 +49,7 @@ void __weak pcibios_resource_to_bus(struct pci_dev *dev,
    struct pci_bus_region *region,
    struct resource *res)
    {
    - struct pci_host_bridge *bridge = pci_host_bridge(dev);
    + struct pci_host_bridge *bridge = find_pci_host_bridge(dev);
    struct pci_host_bridge_window *window;
    resource_size_t offset = 0;

    @@ -70,12 +77,13 @@ static bool region_contains(struct pci_bus_region *region1,
    void __weak pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res,
    struct pci_bus_region *region)
    {
    - struct pci_host_bridge *bridge = pci_host_bridge(dev);
    + struct pci_host_bridge *bridge = find_pci_host_bridge(dev);
    struct pci_host_bridge_window *window;
    - struct pci_bus_region bus_region;
    resource_size_t offset = 0;

    list_for_each_entry(window, &bridge->windows, list) {
    + struct pci_bus_region bus_region;
    +
    if (resource_type(res) != resource_type(window->res))
    continue;

    --
    1.7.7


    \
     
     \ /
      Last update: 2012-03-01 00:19    [W:0.021 / U:60.580 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site