summaryrefslogtreecommitdiff
path: root/drivers/eisa/virtual_root.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/eisa/virtual_root.c')
-rw-r--r--drivers/eisa/virtual_root.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/eisa/virtual_root.c b/drivers/eisa/virtual_root.c
index 12f684f9dc8c..3c384ccfe489 100644
--- a/drivers/eisa/virtual_root.c
+++ b/drivers/eisa/virtual_root.c
@@ -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);