tile PCI RC: support pci=off boot arg for tilepro
authorChris Metcalf <cmetcalf@tilera.com>
Mon, 5 Aug 2013 19:02:03 +0000 (15:02 -0400)
committerChris Metcalf <cmetcalf@tilera.com>
Mon, 5 Aug 2013 20:12:57 +0000 (16:12 -0400)
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
arch/tile/kernel/pci.c

index 1dae3b2183a07b86093a190745e0642975aca26e..af75835d6ed2699fa519d9e0c00abf306e162ede 100644 (file)
@@ -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.