Re: [PATCH v2] platform/x86: nvidia-wmi-ec-backlight: Add force module parameter

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 2/17/23 16:37, Daniel Dadap wrote:
> Thanks, Hans. The new commit message sounds more appropriate.
> 
> Reviewed-by: Daniel Dadap <ddadap@xxxxxxxxxx>

Thanks. I have pushed this to pdx86/for-next now so that it
will go to Linus during the merge-window and on to the
stable kernel series from there.

Regards,

Hans




> 
> On Fri, Feb 17, 2023 at 03:42:08PM +0100, Hans de Goede wrote:
>> On some Lenovo Legion models, the backlight might be driven by either
>> one of nvidia_wmi_ec_backlight or amdgpu_bl0 at different times.
>>
>> When the Nvidia WMI EC backlight interface reports the backlight is
>> controlled by the EC, the current backlight handling only registers
>> nvidia_wmi_ec_backlight (and registers no other backlight interfaces).
>>
>> This hides (never registers) the amdgpu_bl0 interface, where as prior
>> to 6.1.4 users would have both nvidia_wmi_ec_backlight and amdgpu_bl0
>> and could work around things in userspace.
>>
>> Add a force module parameter which can be used with acpi_backlight=native
>> to restore the old behavior as a workound (for now) by passing:
>>
>> "acpi_backlight=native nvidia-wmi-ec-backlight.force=1"
>>
>> Fixes: 8d0ca287fd8c ("platform/x86: nvidia-wmi-ec-backlight: Use acpi_video_get_backlight_type()")
>> Link: https://bugzilla.kernel.org/show_bug.cgi?id=217026
>> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
>> ---
>> Changes in v2:
>> - Reword commit message
>> ---
>>  drivers/platform/x86/nvidia-wmi-ec-backlight.c | 6 +++++-
>>  1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/platform/x86/nvidia-wmi-ec-backlight.c b/drivers/platform/x86/nvidia-wmi-ec-backlight.c
>> index baccdf658538..1b572c90c76e 100644
>> --- a/drivers/platform/x86/nvidia-wmi-ec-backlight.c
>> +++ b/drivers/platform/x86/nvidia-wmi-ec-backlight.c
>> @@ -12,6 +12,10 @@
>>  #include <linux/wmi.h>
>>  #include <acpi/video.h>
>>  
>> +static bool force;
>> +module_param(force, bool, 0444);
>> +MODULE_PARM_DESC(force, "Force loading (disable acpi_backlight=xxx checks");
>> +
>>  /**
>>   * wmi_brightness_notify() - helper function for calling WMI-wrapped ACPI method
>>   * @w:    Pointer to the struct wmi_device identified by %WMI_BRIGHTNESS_GUID
>> @@ -91,7 +95,7 @@ static int nvidia_wmi_ec_backlight_probe(struct wmi_device *wdev, const void *ct
>>  	int ret;
>>  
>>  	/* drivers/acpi/video_detect.c also checks that SOURCE == EC */
>> -	if (acpi_video_get_backlight_type() != acpi_backlight_nvidia_wmi_ec)
>> +	if (!force && acpi_video_get_backlight_type() != acpi_backlight_nvidia_wmi_ec)
>>  		return -ENODEV;
>>  
>>  	/*
>> -- 
>> 2.39.1
>>
> 




[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux