diff options
author | Jiang Liu <jiang.liu@huawei.com> | 2012-07-24 05:20:13 -0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2012-08-23 12:11:12 -0400 |
commit | 3b87011d9a84777d06b8619b69a8a6b1b4b41959 (patch) | |
tree | e86ab49ff0610d26e912fcf78391d4ea638524d8 /arch | |
parent | f12eb72a268ba57d23fa5afd987210521cfe73e6 (diff) |
ARM: PCI: Use PCI Express Capability accessors
Use PCI Express Capability access functions to simplify ARM PCIe code.
Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-tegra/pcie.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/arch/arm/mach-tegra/pcie.c b/arch/arm/mach-tegra/pcie.c index d3ad5150d660..c25a2a4f2e3d 100644 --- a/arch/arm/mach-tegra/pcie.c +++ b/arch/arm/mach-tegra/pcie.c | |||
@@ -367,17 +367,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_NVIDIA, 0x0bf1, tegra_pcie_fixup_class); | |||
367 | /* Tegra PCIE requires relaxed ordering */ | 367 | /* Tegra PCIE requires relaxed ordering */ |
368 | static void __devinit tegra_pcie_relax_enable(struct pci_dev *dev) | 368 | static void __devinit tegra_pcie_relax_enable(struct pci_dev *dev) |
369 | { | 369 | { |
370 | u16 val16; | 370 | pcie_capability_set_word(dev, PCI_EXP_DEVCTL, PCI_EXP_DEVCTL_RELAX_EN); |
371 | int pos = pci_find_capability(dev, PCI_CAP_ID_EXP); | ||
372 | |||
373 | if (pos <= 0) { | ||
374 | dev_err(&dev->dev, "skipping relaxed ordering fixup\n"); | ||
375 | return; | ||
376 | } | ||
377 | |||
378 | pci_read_config_word(dev, pos + PCI_EXP_DEVCTL, &val16); | ||
379 | val16 |= PCI_EXP_DEVCTL_RELAX_EN; | ||
380 | pci_write_config_word(dev, pos + PCI_EXP_DEVCTL, val16); | ||
381 | } | 371 | } |
382 | DECLARE_PCI_FIXUP_FINAL(PCI_ANY_ID, PCI_ANY_ID, tegra_pcie_relax_enable); | 372 | DECLARE_PCI_FIXUP_FINAL(PCI_ANY_ID, PCI_ANY_ID, tegra_pcie_relax_enable); |
383 | 373 | ||