Message ID | 20220623115914.103001-1-hdegoede@redhat.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | platform: x86: ideapad-laptop: Add allow_v4_dytc module parameter | expand |
Hi, On 6/23/22 13:59, Hans de Goede wrote: > Add an allow_v4_dytc module parameter to allow users to easily test if > DYTC version 4 platform-profiles work on their laptop. > > Link: https://bugzilla.kernel.org/show_bug.cgi?id=213297 > Signed-off-by: Hans de Goede <hdegoede@redhat.com> I've added this patch to my review-hans branch now. Regards, Hans > --- > drivers/platform/x86/ideapad-laptop.c | 21 ++++++++++++++------- > 1 file changed, 14 insertions(+), 7 deletions(-) > > diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c > index 3ccb7b71dfb1..71f4b59eed4b 100644 > --- a/drivers/platform/x86/ideapad-laptop.c > +++ b/drivers/platform/x86/ideapad-laptop.c > @@ -152,6 +152,10 @@ static bool no_bt_rfkill; > module_param(no_bt_rfkill, bool, 0444); > 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."); > + > /* > * ACPI Helpers > */ > @@ -901,13 +905,16 @@ static int ideapad_dytc_profile_init(struct ideapad_private *priv) > > dytc_version = (output >> DYTC_QUERY_REV_BIT) & 0xF; > > - if (dytc_version < 5) { > - if (dytc_version < 4 || !dmi_check_system(ideapad_dytc_v4_allow_table)) { > - dev_info(&priv->platform_device->dev, > - "DYTC_VERSION is less than 4 or is not allowed: %d\n", > - dytc_version); > - return -ENODEV; > - } > + if (dytc_version < 4) { > + dev_info(&priv->platform_device->dev, "DYTC_VERSION < 4 is not supported\n"); > + return -ENODEV; > + } > + > + if (dytc_version < 5 && > + !(allow_v4_dytc || dmi_check_system(ideapad_dytc_v4_allow_table))) { > + dev_info(&priv->platform_device->dev, > + "DYTC_VERSION 4 support may not work. Pass ideapad_laptop.allow_v4_dytc=Y on the kernel commandline to enable\n"); > + return -ENODEV; > } > > priv->dytc = kzalloc(sizeof(*priv->dytc), GFP_KERNEL);
diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c index 3ccb7b71dfb1..71f4b59eed4b 100644 --- a/drivers/platform/x86/ideapad-laptop.c +++ b/drivers/platform/x86/ideapad-laptop.c @@ -152,6 +152,10 @@ static bool no_bt_rfkill; module_param(no_bt_rfkill, bool, 0444); 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."); + /* * ACPI Helpers */ @@ -901,13 +905,16 @@ static int ideapad_dytc_profile_init(struct ideapad_private *priv) dytc_version = (output >> DYTC_QUERY_REV_BIT) & 0xF; - if (dytc_version < 5) { - if (dytc_version < 4 || !dmi_check_system(ideapad_dytc_v4_allow_table)) { - dev_info(&priv->platform_device->dev, - "DYTC_VERSION is less than 4 or is not allowed: %d\n", - dytc_version); - return -ENODEV; - } + if (dytc_version < 4) { + dev_info(&priv->platform_device->dev, "DYTC_VERSION < 4 is not supported\n"); + return -ENODEV; + } + + if (dytc_version < 5 && + !(allow_v4_dytc || dmi_check_system(ideapad_dytc_v4_allow_table))) { + dev_info(&priv->platform_device->dev, + "DYTC_VERSION 4 support may not work. Pass ideapad_laptop.allow_v4_dytc=Y on the kernel commandline to enable\n"); + return -ENODEV; } priv->dytc = kzalloc(sizeof(*priv->dytc), GFP_KERNEL);
Add an allow_v4_dytc module parameter to allow users to easily test if DYTC version 4 platform-profiles work on their laptop. Link: https://bugzilla.kernel.org/show_bug.cgi?id=213297 Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- drivers/platform/x86/ideapad-laptop.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-)