Convert the fsl_pci driver to use the generic config access functions.

This changes accesses from (in|out)_(8|le16|le32) to readX/writeX
variants. I believe these should be equivalent for PCI config space
accesses, but confirmation would be nice.

Signed-off-by: Rob Herring <r...@kernel.org>
Cc: Benjamin Herrenschmidt <b...@kernel.crashing.org>
Cc: Paul Mackerras <pau...@samba.org>
Cc: Michael Ellerman <m...@ellerman.id.au>
Cc: linuxppc-...@lists.ozlabs.org
---
 arch/powerpc/sysdev/fsl_pci.c | 46 +++----------------------------------------
 1 file changed, 3 insertions(+), 43 deletions(-)

diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c
index 6455c1e..271b67e 100644
--- a/arch/powerpc/sysdev/fsl_pci.c
+++ b/arch/powerpc/sysdev/fsl_pci.c
@@ -645,61 +645,21 @@ mapped:
        return pcie->cfg_type1 + offset;
 }
 
-static int mpc83xx_pcie_read_config(struct pci_bus *bus, unsigned int devfn,
-                                   int offset, int len, u32 *val)
-{
-       void __iomem *cfg_addr;
-
-       cfg_addr = mpc83xx_pcie_remap_cfg(bus, devfn, offset);
-       if (!cfg_addr)
-               return PCIBIOS_DEVICE_NOT_FOUND;
-
-       switch (len) {
-       case 1:
-               *val = in_8(cfg_addr);
-               break;
-       case 2:
-               *val = in_le16(cfg_addr);
-               break;
-       default:
-               *val = in_le32(cfg_addr);
-               break;
-       }
-
-       return PCIBIOS_SUCCESSFUL;
-}
-
 static int mpc83xx_pcie_write_config(struct pci_bus *bus, unsigned int devfn,
                                     int offset, int len, u32 val)
 {
        struct pci_controller *hose = pci_bus_to_host(bus);
-       void __iomem *cfg_addr;
-
-       cfg_addr = mpc83xx_pcie_remap_cfg(bus, devfn, offset);
-       if (!cfg_addr)
-               return PCIBIOS_DEVICE_NOT_FOUND;
 
        /* PPC_INDIRECT_TYPE_SURPRESS_PRIMARY_BUS */
        if (offset == PCI_PRIMARY_BUS && bus->number == hose->first_busno)
                val &= 0xffffff00;
 
-       switch (len) {
-       case 1:
-               out_8(cfg_addr, val);
-               break;
-       case 2:
-               out_le16(cfg_addr, val);
-               break;
-       default:
-               out_le32(cfg_addr, val);
-               break;
-       }
-
-       return PCIBIOS_SUCCESSFUL;
+       return pci_generic_config_write(bus, devfn, offset, len, val);
 }
 
 static struct pci_ops mpc83xx_pcie_ops = {
-       .read = mpc83xx_pcie_read_config,
+       .map_bus = mpc83xx_pcie_remap_cfg,
+       .read = pci_generic_config_read,
        .write = mpc83xx_pcie_write_config,
 };
 
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to