summaryrefslogtreecommitdiffstats
path: root/arch/tile/kernel/pci.c
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@tilera.com>2013-08-05 21:02:03 +0200
committerChris Metcalf <cmetcalf@tilera.com>2013-08-05 22:12:57 +0200
commit2be705523fb3dd716d76ed371eaadaced55fe4a3 (patch)
tree6dac97616c41e4c4fcfff1b0268ee31953229376 /arch/tile/kernel/pci.c
parenttile PCI RC: tilepro conflict with PCI and RAM addresses (diff)
downloadlinux-2be705523fb3dd716d76ed371eaadaced55fe4a3.tar.xz
linux-2be705523fb3dd716d76ed371eaadaced55fe4a3.zip
tile PCI RC: support pci=off boot arg for tilepro
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Diffstat (limited to 'arch/tile/kernel/pci.c')
-rw-r--r--arch/tile/kernel/pci.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/tile/kernel/pci.c b/arch/tile/kernel/pci.c
index 1dae3b2183a0..af75835d6ed2 100644
--- a/arch/tile/kernel/pci.c
+++ b/arch/tile/kernel/pci.c
@@ -51,6 +51,8 @@
*
*/
+static int pci_probe = 1;
+
/*
* This flag tells if the platform is TILEmpower that needs
* special configuration for the PLX switch chip.
@@ -143,6 +145,11 @@ int __init tile_pci_init(void)
{
int i;
+ if (!pci_probe) {
+ pr_info("PCI: disabled by boot argument\n");
+ return 0;
+ }
+
pr_info("PCI: Searching for controllers...\n");
/* Re-init number of PCIe controllers to support hot-plug feature. */
@@ -378,6 +385,16 @@ void pcibios_set_master(struct pci_dev *dev)
/* No special bus mastering setup handling. */
}
+/* Process any "pci=" kernel boot arguments. */
+char * __init pcibios_setup(char *str)
+{
+ if (!strcmp(str, "off")) {
+ pci_probe = 0;
+ return NULL;
+ }
+ return str;
+}
+
/*
* Enable memory and/or address decoding, as appropriate, for the
* device described by the 'dev' struct.