]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] EISA: avoid unnecessary probing
authorMarc Zyngier <mzyngier@freesurf.fr>
Fri, 4 Jul 2003 10:00:47 +0000 (03:00 -0700)
committerLinus Torvalds <torvalds@home.osdl.org>
Fri, 4 Jul 2003 10:00:47 +0000 (03:00 -0700)
- By default, do not try to probe the bus if the mainboard does not
  seems to support EISA (allow this behaviour to be changed through a
  command-line option).

drivers/eisa/virtual_root.c

index 12f684f9dc8c506553c5f13caf1e84caefadb3cd..3c384ccfe4896b7473546f806c2d62867c572770 100644 (file)
@@ -7,12 +7,22 @@
  * This code is released under the GPL version 2.
  */
 
+#include <linux/config.h>
 #include <linux/kernel.h>
 #include <linux/device.h>
 #include <linux/eisa.h>
 #include <linux/module.h>
+#include <linux/moduleparam.h>
 #include <linux/init.h>
 
+#if defined(CONFIG_ALPHA_JENSEN) || defined(CONFIG_EISA_VLB_PRIMING)
+#define EISA_FORCE_PROBE_DEFAULT 1
+#else
+#define EISA_FORCE_PROBE_DEFAULT 0
+#endif
+
+static int force_probe = EISA_FORCE_PROBE_DEFAULT;
+
 /* The default EISA device parent (virtual root device).
  * Now use a platform device, since that's the obvious choice. */
 
@@ -29,6 +39,7 @@ static struct eisa_root_device eisa_bus_root = {
        .bus_base_addr = 0,
        .res           = &ioport_resource,
        .slots         = EISA_MAX_SLOTS,
+       .dma_mask      = 0xffffffff,
 };
 
 static int virtual_eisa_root_init (void)
@@ -39,6 +50,8 @@ static int virtual_eisa_root_init (void)
                 return r;
         }
 
+       eisa_bus_root.force_probe = force_probe;
+       
        eisa_root_dev.dev.driver_data = &eisa_bus_root;
 
        if (eisa_root_register (&eisa_bus_root)) {
@@ -51,4 +64,6 @@ static int virtual_eisa_root_init (void)
        return 0;
 }
 
+module_param (force_probe, int, 0444);
+
 device_initcall (virtual_eisa_root_init);