aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/ipmi/ipmi_si_intf.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/ipmi/ipmi_si_intf.c')
-rw-r--r--drivers/char/ipmi/ipmi_si_intf.c38
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
1215static bool si_trydmi = 1; 1215static bool si_trydmi = 1;
1216#endif 1216#endif
1217static bool si_tryplatform = 1;
1218#ifdef CONFIG_PCI
1219static bool si_trypci = 1;
1220#endif
1217static bool si_trydefaults = 1; 1221static bool si_trydefaults = 1;
1218static char *si_type[SI_MAX_PARMS]; 1222static 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);
1254MODULE_PARM_DESC(trydmi, "Setting this to zero will disable the" 1258MODULE_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
1261module_param_named(tryplatform, si_tryplatform, bool, 0);
1262MODULE_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
1266module_param_named(trypci, si_trypci, bool, 0);
1267MODULE_PARM_DESC(tryacpi, "Setting this to zero will disable the"
1268 " default scan of the interfaces identified via pci");
1269#endif
1257module_param_named(trydefaults, si_trydefaults, bool, 0); 1270module_param_named(trydefaults, si_trydefaults, bool, 0);
1258MODULE_PARM_DESC(trydefaults, "Setting this to 'false' will disable the" 1271MODULE_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