From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Yinghai Lu To: Jesse Barnes , Benjamin Herrenschmidt , Tony Luck , David Miller , x86 Cc: Bjorn Helgaas , Dominik Brodowski , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, Yinghai Lu Subject: [PATCH 02/39] x86, PCI: have own version for pcibios_bus_to_resource Date: Wed, 29 Feb 2012 15:07:01 -0800 Message-Id: <1330556858-11768-3-git-send-email-yinghai@kernel.org> In-Reply-To: <1330556858-11768-1-git-send-email-yinghai@kernel.org> References: <1330556858-11768-1-git-send-email-yinghai@kernel.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: x86 does not need to offset the address. So we can skip that costing offset searching. Signed-off-by: Yinghai Lu --- 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