From 05509cd36275c3bedb2218130e24f8ccf5d0cf7c Mon Sep 17 00:00:00 2001 From: Andrey Smirnov Date: Sun, 13 Jan 2019 22:17:07 -0800 Subject: PCI: Assume 1:1 mapping if .res_start callback is NULL Save a bit of no-op boilerplate by converting pci_iomap() to treat absense of .res_start callback as an indicator that 1:1 mapping is being used. Reviewed-by: Sam Ravnborg Signed-off-by: Andrey Smirnov Signed-off-by: Sascha Hauer --- drivers/pci/pci-tegra.c | 6 ------ drivers/pci/pci_iomap.c | 6 +++++- drivers/pci/pcie-designware-host.c | 6 ------ 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/drivers/pci/pci-tegra.c b/drivers/pci/pci-tegra.c index b6ccf8e5b5..7c9dd80c00 100644 --- a/drivers/pci/pci-tegra.c +++ b/drivers/pci/pci-tegra.c @@ -366,15 +366,9 @@ static int tegra_pcie_write_conf(struct pci_bus *bus, unsigned int devfn, return PCIBIOS_SUCCESSFUL; } -static int tegra_pcie_res_start(struct pci_bus *bus, resource_size_t res_addr) -{ - return res_addr; -} - static struct pci_ops tegra_pcie_ops = { .read = tegra_pcie_read_conf, .write = tegra_pcie_write_conf, - .res_start = tegra_pcie_res_start, }; static unsigned long tegra_pcie_port_get_pex_ctrl(struct tegra_pcie_port *port) diff --git a/drivers/pci/pci_iomap.c b/drivers/pci/pci_iomap.c index 2c58c0c0f9..2f06e60e38 100644 --- a/drivers/pci/pci_iomap.c +++ b/drivers/pci/pci_iomap.c @@ -3,6 +3,7 @@ * * (C) Copyright 2004 Linus Torvalds */ +#include #include #include @@ -24,6 +25,9 @@ void __iomem *pci_iomap(struct pci_dev *dev, int bar) struct pci_bus *bus = dev->bus; resource_size_t start = pci_resource_start(dev, bar); - return (void *)bus->host->pci_ops->res_start(bus, start); + if (bus->host->pci_ops->res_start) + start = bus->host->pci_ops->res_start(bus, start); + + return IOMEM(start); } EXPORT_SYMBOL(pci_iomap); diff --git a/drivers/pci/pcie-designware-host.c b/drivers/pci/pcie-designware-host.c index 6cc4b93a31..af37a502d8 100644 --- a/drivers/pci/pcie-designware-host.c +++ b/drivers/pci/pcie-designware-host.c @@ -335,15 +335,9 @@ static int dw_pcie_wr_conf(struct pci_bus *bus, u32 devfn, return ret; } -static int dw_pcie_res_start(struct pci_bus *bus, resource_size_t res_addr) -{ - return res_addr; -} - static struct pci_ops dw_pcie_ops = { .read = dw_pcie_rd_conf, .write = dw_pcie_wr_conf, - .res_start = dw_pcie_res_start, }; static u8 dw_pcie_iatu_unroll_enabled(struct dw_pcie *pci) -- cgit v1.2.3