rfkill: add parameter to disable radios by default
[pandora-kernel.git] / net / rfkill / rfkill.c
index f95081a..3edc585 100644 (file)
@@ -39,6 +39,11 @@ MODULE_LICENSE("GPL");
 static LIST_HEAD(rfkill_list); /* list of registered rf switches */
 static DEFINE_MUTEX(rfkill_mutex);
 
+static unsigned int rfkill_default_state = RFKILL_STATE_ON;
+module_param_named(default_state, rfkill_default_state, uint, 0444);
+MODULE_PARM_DESC(default_state,
+                "Default initial state for all radio types, 0 = radio off");
+
 static enum rfkill_state rfkill_states[RFKILL_TYPE_MAX];
 
 
@@ -436,8 +441,12 @@ static int __init rfkill_init(void)
        int error;
        int i;
 
+       if (rfkill_default_state != RFKILL_STATE_OFF &&
+           rfkill_default_state != RFKILL_STATE_ON)
+               return -EINVAL;
+
        for (i = 0; i < ARRAY_SIZE(rfkill_states); i++)
-               rfkill_states[i] = RFKILL_STATE_ON;
+               rfkill_states[i] = rfkill_default_state;
 
        error = class_register(&rfkill_class);
        if (error) {