diff options
Diffstat (limited to 'drivers/char/ipmi/ipmi_si_intf.c')
-rw-r--r-- | drivers/char/ipmi/ipmi_si_intf.c | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c index a58beddb4821..0ac9b45a585e 100644 --- a/drivers/char/ipmi/ipmi_si_intf.c +++ b/drivers/char/ipmi/ipmi_si_intf.c | |||
@@ -1214,6 +1214,10 @@ static bool si_tryacpi = 1; | |||
1214 | #ifdef CONFIG_DMI | 1214 | #ifdef CONFIG_DMI |
1215 | static bool si_trydmi = 1; | 1215 | static bool si_trydmi = 1; |
1216 | #endif | 1216 | #endif |
1217 | static bool si_tryplatform = 1; | ||
1218 | #ifdef CONFIG_PCI | ||
1219 | static bool si_trypci = 1; | ||
1220 | #endif | ||
1217 | static bool si_trydefaults = 1; | 1221 | static bool si_trydefaults = 1; |
1218 | static char *si_type[SI_MAX_PARMS]; | 1222 | static char *si_type[SI_MAX_PARMS]; |
1219 | #define MAX_SI_TYPE_STR 30 | 1223 | #define MAX_SI_TYPE_STR 30 |
@@ -1254,6 +1258,15 @@ module_param_named(trydmi, si_trydmi, bool, 0); | |||
1254 | MODULE_PARM_DESC(trydmi, "Setting this to zero will disable the" | 1258 | MODULE_PARM_DESC(trydmi, "Setting this to zero will disable the" |
1255 | " default scan of the interfaces identified via DMI"); | 1259 | " default scan of the interfaces identified via DMI"); |
1256 | #endif | 1260 | #endif |
1261 | module_param_named(tryplatform, si_tryplatform, bool, 0); | ||
1262 | MODULE_PARM_DESC(tryacpi, "Setting this to zero will disable the" | ||
1263 | " default scan of the interfaces identified via platform" | ||
1264 | " interfaces like openfirmware"); | ||
1265 | #ifdef CONFIG_PCI | ||
1266 | module_param_named(trypci, si_trypci, bool, 0); | ||
1267 | MODULE_PARM_DESC(tryacpi, "Setting this to zero will disable the" | ||
1268 | " default scan of the interfaces identified via pci"); | ||
1269 | #endif | ||
1257 | module_param_named(trydefaults, si_trydefaults, bool, 0); | 1270 | module_param_named(trydefaults, si_trydefaults, bool, 0); |
1258 | MODULE_PARM_DESC(trydefaults, "Setting this to 'false' will disable the" | 1271 | MODULE_PARM_DESC(trydefaults, "Setting this to 'false' will disable the" |
1259 | " default scan of the KCS and SMIC interface at the standard" | 1272 | " default scan of the KCS and SMIC interface at the standard" |
@@ -3387,13 +3400,15 @@ static int init_ipmi_si(void) | |||
3387 | return 0; | 3400 | return 0; |
3388 | initialized = 1; | 3401 | initialized = 1; |
3389 | 3402 | ||
3390 | rv = platform_driver_register(&ipmi_driver); | 3403 | if (si_tryplatform) { |
3391 | if (rv) { | 3404 | rv = platform_driver_register(&ipmi_driver); |
3392 | printk(KERN_ERR PFX "Unable to register driver: %d\n", rv); | 3405 | if (rv) { |
3393 | return rv; | 3406 | printk(KERN_ERR PFX "Unable to register " |
3407 | "driver: %d\n", rv); | ||
3408 | return rv; | ||
3409 | } | ||
3394 | } | 3410 | } |
3395 | 3411 | ||
3396 | |||
3397 | /* Parse out the si_type string into its components. */ | 3412 | /* Parse out the si_type string into its components. */ |
3398 | str = si_type_str; | 3413 | str = si_type_str; |
3399 | if (*str != '\0') { | 3414 | if (*str != '\0') { |
@@ -3416,11 +3431,14 @@ static int init_ipmi_si(void) | |||
3416 | return 0; | 3431 | return 0; |
3417 | 3432 | ||
3418 | #ifdef CONFIG_PCI | 3433 | #ifdef CONFIG_PCI |
3419 | rv = pci_register_driver(&ipmi_pci_driver); | 3434 | if (si_trypci) { |
3420 | if (rv) | 3435 | rv = pci_register_driver(&ipmi_pci_driver); |
3421 | printk(KERN_ERR PFX "Unable to register PCI driver: %d\n", rv); | 3436 | if (rv) |
3422 | else | 3437 | printk(KERN_ERR PFX "Unable to register " |
3423 | pci_registered = 1; | 3438 | "PCI driver: %d\n", rv); |
3439 | else | ||
3440 | pci_registered = 1; | ||
3441 | } | ||
3424 | #endif | 3442 | #endif |
3425 | 3443 | ||
3426 | #ifdef CONFIG_ACPI | 3444 | #ifdef CONFIG_ACPI |