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 02/39] x86, PCI: have own version for pcibios_bus_to_resource
    Date
    x86 does not need to offset the address. So we can skip that costing offset
    searching.

    Signed-off-by: Yinghai Lu <yinghai@kernel.org>
    ---
    arch/x86/pci/i386.c | 14 ++++++++++++++
    drivers/pci/host-bridge.c | 9 +++++----
    2 files changed, 19 insertions(+), 4 deletions(-)

    diff --git a/arch/x86/pci/i386.c b/arch/x86/pci/i386.c
    index 33e6a0b..eeed28e 100644
    --- a/arch/x86/pci/i386.c
    +++ b/arch/x86/pci/i386.c
    @@ -335,6 +335,20 @@ void __init pcibios_resource_survey(void)
    */
    fs_initcall(pcibios_assign_resources);

    +void pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region,
    + struct resource *res)
    +{
    + region->start = res->start;
    + region->end = res->end;
    +}
    +
    +void pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res,
    + struct pci_bus_region *region)
    +{
    + res->start = region->start;
    + res->end = region->end;
    +}
    +
    static const struct vm_operations_struct pci_mmap_ops = {
    .access = generic_access_phys,
    };
    diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c
    index 5ca4220..dfaff3f 100644
    --- a/drivers/pci/host-bridge.c
    +++ b/drivers/pci/host-bridge.c
    @@ -38,8 +38,9 @@ static bool resource_contains(struct resource *res1, struct resource *res2)
    return res1->start <= res2->start && res1->end >= res2->end;
    }

    -void pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region,
    - struct resource *res)
    +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_window *window;
    @@ -66,8 +67,8 @@ static bool region_contains(struct pci_bus_region *region1,
    return region1->start <= region2->start && region1->end >= region2->end;
    }

    -void pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res,
    - struct pci_bus_region *region)
    +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_window *window;
    --
    1.7.7


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