Commit c4404d65 authored by Marc Zyngier's avatar Marc Zyngier Committed by Linus Torvalds

[PATCH] EISA: avoid unnecessary probing

- 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).
parent e34121f7
...@@ -7,12 +7,22 @@ ...@@ -7,12 +7,22 @@
* This code is released under the GPL version 2. * This code is released under the GPL version 2.
*/ */
#include <linux/config.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/device.h> #include <linux/device.h>
#include <linux/eisa.h> #include <linux/eisa.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/init.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). /* The default EISA device parent (virtual root device).
* Now use a platform device, since that's the obvious choice. */ * Now use a platform device, since that's the obvious choice. */
...@@ -29,6 +39,7 @@ static struct eisa_root_device eisa_bus_root = { ...@@ -29,6 +39,7 @@ static struct eisa_root_device eisa_bus_root = {
.bus_base_addr = 0, .bus_base_addr = 0,
.res = &ioport_resource, .res = &ioport_resource,
.slots = EISA_MAX_SLOTS, .slots = EISA_MAX_SLOTS,
.dma_mask = 0xffffffff,
}; };
static int virtual_eisa_root_init (void) static int virtual_eisa_root_init (void)
...@@ -39,6 +50,8 @@ static int virtual_eisa_root_init (void) ...@@ -39,6 +50,8 @@ static int virtual_eisa_root_init (void)
return r; return r;
} }
eisa_bus_root.force_probe = force_probe;
eisa_root_dev.dev.driver_data = &eisa_bus_root; eisa_root_dev.dev.driver_data = &eisa_bus_root;
if (eisa_root_register (&eisa_bus_root)) { if (eisa_root_register (&eisa_bus_root)) {
...@@ -51,4 +64,6 @@ static int virtual_eisa_root_init (void) ...@@ -51,4 +64,6 @@ static int virtual_eisa_root_init (void)
return 0; return 0;
} }
module_param (force_probe, int, 0444);
device_initcall (virtual_eisa_root_init); device_initcall (virtual_eisa_root_init);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment