mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-04-01 12:04:08 +00:00
ipmi: add options to disable openfirmware and PCI scanning
Add try... parameters to disable pci and platform (openfirmware) device scanning for IPMI. Also add docs for all the try... parameters. Signed-off-by: Corey Minyard <cminyard@mvista.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
d941aeae42
commit
f2afae4629
2 changed files with 40 additions and 16 deletions
|
@ -348,34 +348,40 @@ You can change this at module load time (for a module) with:
|
||||||
|
|
||||||
modprobe ipmi_si.o type=<type1>,<type2>....
|
modprobe ipmi_si.o type=<type1>,<type2>....
|
||||||
ports=<port1>,<port2>... addrs=<addr1>,<addr2>...
|
ports=<port1>,<port2>... addrs=<addr1>,<addr2>...
|
||||||
irqs=<irq1>,<irq2>... trydefaults=[0|1]
|
irqs=<irq1>,<irq2>...
|
||||||
regspacings=<sp1>,<sp2>,... regsizes=<size1>,<size2>,...
|
regspacings=<sp1>,<sp2>,... regsizes=<size1>,<size2>,...
|
||||||
regshifts=<shift1>,<shift2>,...
|
regshifts=<shift1>,<shift2>,...
|
||||||
slave_addrs=<addr1>,<addr2>,...
|
slave_addrs=<addr1>,<addr2>,...
|
||||||
force_kipmid=<enable1>,<enable2>,...
|
force_kipmid=<enable1>,<enable2>,...
|
||||||
kipmid_max_busy_us=<ustime1>,<ustime2>,...
|
kipmid_max_busy_us=<ustime1>,<ustime2>,...
|
||||||
unload_when_empty=[0|1]
|
unload_when_empty=[0|1]
|
||||||
|
trydefaults=[0|1] trydmi=[0|1] tryacpi=[0|1]
|
||||||
|
tryplatform=[0|1] trypci=[0|1]
|
||||||
|
|
||||||
Each of these except si_trydefaults is a list, the first item for the
|
Each of these except try... items is a list, the first item for the
|
||||||
first interface, second item for the second interface, etc.
|
first interface, second item for the second interface, etc.
|
||||||
|
|
||||||
The si_type may be either "kcs", "smic", or "bt". If you leave it blank, it
|
The si_type may be either "kcs", "smic", or "bt". If you leave it blank, it
|
||||||
defaults to "kcs".
|
defaults to "kcs".
|
||||||
|
|
||||||
If you specify si_addrs as non-zero for an interface, the driver will
|
If you specify addrs as non-zero for an interface, the driver will
|
||||||
use the memory address given as the address of the device. This
|
use the memory address given as the address of the device. This
|
||||||
overrides si_ports.
|
overrides si_ports.
|
||||||
|
|
||||||
If you specify si_ports as non-zero for an interface, the driver will
|
If you specify ports as non-zero for an interface, the driver will
|
||||||
use the I/O port given as the device address.
|
use the I/O port given as the device address.
|
||||||
|
|
||||||
If you specify si_irqs as non-zero for an interface, the driver will
|
If you specify irqs as non-zero for an interface, the driver will
|
||||||
attempt to use the given interrupt for the device.
|
attempt to use the given interrupt for the device.
|
||||||
|
|
||||||
si_trydefaults sets whether the standard IPMI interface at 0xca2 and
|
trydefaults sets whether the standard IPMI interface at 0xca2 and
|
||||||
any interfaces specified by ACPE are tried. By default, the driver
|
any interfaces specified by ACPE are tried. By default, the driver
|
||||||
tries it, set this value to zero to turn this off.
|
tries it, set this value to zero to turn this off.
|
||||||
|
|
||||||
|
The other try... items disable discovery by their corresponding
|
||||||
|
names. These are all enabled by default, set them to zero to disable
|
||||||
|
them. The tryplatform disables openfirmware.
|
||||||
|
|
||||||
The next three parameters have to do with register layout. The
|
The next three parameters have to do with register layout. The
|
||||||
registers used by the interfaces may not appear at successive
|
registers used by the interfaces may not appear at successive
|
||||||
locations and they may not be in 8-bit registers. These parameters
|
locations and they may not be in 8-bit registers. These parameters
|
||||||
|
|
|
@ -1214,6 +1214,10 @@ static bool si_tryacpi = 1;
|
||||||
#ifdef CONFIG_DMI
|
#ifdef CONFIG_DMI
|
||||||
static bool si_trydmi = 1;
|
static bool si_trydmi = 1;
|
||||||
#endif
|
#endif
|
||||||
|
static bool si_tryplatform = 1;
|
||||||
|
#ifdef CONFIG_PCI
|
||||||
|
static bool si_trypci = 1;
|
||||||
|
#endif
|
||||||
static bool si_trydefaults = 1;
|
static bool si_trydefaults = 1;
|
||||||
static char *si_type[SI_MAX_PARMS];
|
static char *si_type[SI_MAX_PARMS];
|
||||||
#define MAX_SI_TYPE_STR 30
|
#define MAX_SI_TYPE_STR 30
|
||||||
|
@ -1254,6 +1258,15 @@ module_param_named(trydmi, si_trydmi, bool, 0);
|
||||||
MODULE_PARM_DESC(trydmi, "Setting this to zero will disable the"
|
MODULE_PARM_DESC(trydmi, "Setting this to zero will disable the"
|
||||||
" default scan of the interfaces identified via DMI");
|
" default scan of the interfaces identified via DMI");
|
||||||
#endif
|
#endif
|
||||||
|
module_param_named(tryplatform, si_tryplatform, bool, 0);
|
||||||
|
MODULE_PARM_DESC(tryacpi, "Setting this to zero will disable the"
|
||||||
|
" default scan of the interfaces identified via platform"
|
||||||
|
" interfaces like openfirmware");
|
||||||
|
#ifdef CONFIG_PCI
|
||||||
|
module_param_named(trypci, si_trypci, bool, 0);
|
||||||
|
MODULE_PARM_DESC(tryacpi, "Setting this to zero will disable the"
|
||||||
|
" default scan of the interfaces identified via pci");
|
||||||
|
#endif
|
||||||
module_param_named(trydefaults, si_trydefaults, bool, 0);
|
module_param_named(trydefaults, si_trydefaults, bool, 0);
|
||||||
MODULE_PARM_DESC(trydefaults, "Setting this to 'false' will disable the"
|
MODULE_PARM_DESC(trydefaults, "Setting this to 'false' will disable the"
|
||||||
" default scan of the KCS and SMIC interface at the standard"
|
" default scan of the KCS and SMIC interface at the standard"
|
||||||
|
@ -3387,13 +3400,15 @@ static int init_ipmi_si(void)
|
||||||
return 0;
|
return 0;
|
||||||
initialized = 1;
|
initialized = 1;
|
||||||
|
|
||||||
rv = platform_driver_register(&ipmi_driver);
|
if (si_tryplatform) {
|
||||||
if (rv) {
|
rv = platform_driver_register(&ipmi_driver);
|
||||||
printk(KERN_ERR PFX "Unable to register driver: %d\n", rv);
|
if (rv) {
|
||||||
return rv;
|
printk(KERN_ERR PFX "Unable to register "
|
||||||
|
"driver: %d\n", rv);
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Parse out the si_type string into its components. */
|
/* Parse out the si_type string into its components. */
|
||||||
str = si_type_str;
|
str = si_type_str;
|
||||||
if (*str != '\0') {
|
if (*str != '\0') {
|
||||||
|
@ -3416,11 +3431,14 @@ static int init_ipmi_si(void)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
#ifdef CONFIG_PCI
|
#ifdef CONFIG_PCI
|
||||||
rv = pci_register_driver(&ipmi_pci_driver);
|
if (si_trypci) {
|
||||||
if (rv)
|
rv = pci_register_driver(&ipmi_pci_driver);
|
||||||
printk(KERN_ERR PFX "Unable to register PCI driver: %d\n", rv);
|
if (rv)
|
||||||
else
|
printk(KERN_ERR PFX "Unable to register "
|
||||||
pci_registered = 1;
|
"PCI driver: %d\n", rv);
|
||||||
|
else
|
||||||
|
pci_registered = 1;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_ACPI
|
#ifdef CONFIG_ACPI
|
||||||
|
|
Loading…
Add table
Reference in a new issue