platform/x86: ideapad-laptop: Add module parameters to match DMI quirk tables
authorHans de Goede <hdegoede@redhat.com>
Tue, 15 Nov 2022 19:34:00 +0000 (20:34 +0100)
committerHans de Goede <hdegoede@redhat.com>
Wed, 16 Nov 2022 07:47:08 +0000 (08:47 +0100)
Add module parameters to allow setting the hw_rfkill_switch and
set_fn_lock_led feature flags for testing these on laptops which are not
on the DMI-id based allow lists for these 2 flags.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20221115193400.376159-1-hdegoede@redhat.com
drivers/platform/x86/ideapad-laptop.c

index 6c460cd..3ea8fc6 100644 (file)
@@ -155,7 +155,21 @@ MODULE_PARM_DESC(no_bt_rfkill, "No rfkill for bluetooth.");
 
 static bool allow_v4_dytc;
 module_param(allow_v4_dytc, bool, 0444);
-MODULE_PARM_DESC(allow_v4_dytc, "Enable DYTC version 4 platform-profile support.");
+MODULE_PARM_DESC(allow_v4_dytc,
+       "Enable DYTC version 4 platform-profile support. "
+       "If you need this please report this to: platform-driver-x86@vger.kernel.org");
+
+static bool hw_rfkill_switch;
+module_param(hw_rfkill_switch, bool, 0444);
+MODULE_PARM_DESC(hw_rfkill_switch,
+       "Enable rfkill support for laptops with a hw on/off wifi switch/slider. "
+       "If you need this please report this to: platform-driver-x86@vger.kernel.org");
+
+static bool set_fn_lock_led;
+module_param(set_fn_lock_led, bool, 0444);
+MODULE_PARM_DESC(set_fn_lock_led,
+       "Enable driver based updates of the fn-lock LED on fn-lock changes. "
+       "If you need this please report this to: platform-driver-x86@vger.kernel.org");
 
 /*
  * ACPI Helpers
@@ -1572,8 +1586,10 @@ static void ideapad_check_features(struct ideapad_private *priv)
        acpi_handle handle = priv->adev->handle;
        unsigned long val;
 
-       priv->features.set_fn_lock_led = dmi_check_system(set_fn_lock_led_list);
-       priv->features.hw_rfkill_switch = dmi_check_system(hw_rfkill_list);
+       priv->features.set_fn_lock_led =
+               set_fn_lock_led || dmi_check_system(set_fn_lock_led_list);
+       priv->features.hw_rfkill_switch =
+               hw_rfkill_switch || dmi_check_system(hw_rfkill_list);
 
        /* Most ideapads with ELAN0634 touchpad don't use EC touchpad switch */
        if (acpi_dev_present("ELAN0634", NULL, -1))