ideapad: Add param: no_bt_rfkill
[linux-3.10.git] / drivers / platform / x86 / ideapad-laptop.c
index e9f7395..5ff1220 100644 (file)
@@ -52,6 +52,10 @@ static struct {
        { "ideapad_killsw",     0,  0,    RFKILL_TYPE_WLAN }
 };
 
+static bool no_bt_rfkill;
+module_param(no_bt_rfkill, bool, 0444);
+MODULE_PARM_DESC(no_bt_rfkill, "No rfkill for bluetooth.");
+
 /*
  * ACPI Helpers
  */
@@ -232,6 +236,14 @@ static int ideapad_register_rfkill(struct acpi_device *adevice, int dev)
        int ret;
        unsigned long sw_blocked;
 
+       if (no_bt_rfkill &&
+           (ideapad_rfk_data[dev].type == RFKILL_TYPE_BLUETOOTH)) {
+               /* Force to enable bluetooth when no_bt_rfkill=1 */
+               write_ec_cmd(ideapad_priv->handle,
+                            ideapad_rfk_data[dev].opcode, 1);
+               return 0;
+       }
+
        priv->rfk[dev] = rfkill_alloc(ideapad_rfk_data[dev].name, &adevice->dev,
                                      ideapad_rfk_data[dev].type, &ideapad_rfk_ops,
                                      (void *)(long)dev);