Re: [PATCH v4 2/4] platform/x86: think-lmi: use correct possible_values delimiters

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

 



Hi,

On 3/20/23 16:22, Thomas Weißschuh wrote:
> Hi Mark,
> 
> Thanks for the series!
> For all of it:
> 
> Reviewed-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx>
> 
> If you decide to reroll it, one more nitpick below.

Mark, thank you for the series. Thomas, thank you
for the reviews.

I've applied this series to the fixes branch now:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=fixes

Note it will show up in my fixes branch once I've pushed my
local branch there, which might take a while.

I will include this patch in my next fixes pull-req to Linus
for the current kernel development cycle.

Regards,

Hans




> On Sun, Mar 19, 2023 at 08:32:19PM -0400, Mark Pearson wrote:
>> firmware-attributes class requires that possible values are delimited
>> using ';' but the Lenovo firmware uses ',' instead.
>> Parse string and replace where appropriate.
>>
>> Suggested-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx>
>> Fixes: a40cd7ef22fb ("platform/x86: think-lmi: Add WMI interface support on Lenovo platforms")
>> Signed-off-by: Mark Pearson <mpearson-lenovo@xxxxxxxxx>
>> ---
>> Changes in v4
>>  - Moved earlier in the series as recommended
>>  - used strreplace function as recommended
>> Changes in v3: 
>>  - New patch added to the series. No v1 & v2.
>>
>>  drivers/platform/x86/think-lmi.c | 9 ++++++++-
>>  1 file changed, 8 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/platform/x86/think-lmi.c b/drivers/platform/x86/think-lmi.c
>> index a765bf8c27d8..53f34b1adb8c 100644
>> --- a/drivers/platform/x86/think-lmi.c
>> +++ b/drivers/platform/x86/think-lmi.c
>> @@ -954,7 +954,7 @@ static ssize_t type_show(struct kobject *kobj, struct kobj_attribute *attr,
>>  
>>  	if (setting->possible_values) {
>>  		/* Figure out what setting type is as BIOS does not return this */
>> -		if (strchr(setting->possible_values, ','))
>> +		if (strchr(setting->possible_values, ';'))
>>  			return sysfs_emit(buf, "enumeration\n");
> 
> If you make this patch the first on of the series it would
> * make the hunk above unnecessary.
> * make it easier to backport if somebody wants do do so.
> * make the then second patch easier to read as it would not introduce
>   "incorrect" code that needs a fix-up in the following commit.
> 
>>  	}
>>  	/* Anything else is going to be a string */
>> @@ -1413,6 +1413,13 @@ static int tlmi_analyze(void)
>>  				pr_info("Error retrieving possible values for %d : %s\n",
>>  						i, setting->display_name);
>>  		}
>> +		/*
>> +		 * firmware-attributes requires that possible_values are separated by ';' but
>> +		 * Lenovo FW uses ','. Replace appropriately.
>> +		 */
>> +		if (setting->possible_values)
>> +			strreplace(setting->possible_values, ',', ';');
>> +
>>  		kobject_init(&setting->kobj, &tlmi_attr_setting_ktype);
>>  		tlmi_priv.setting[i] = setting;
>>  		kfree(item);
>> -- 
>> 2.39.2
>>
> 




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

  Powered by Linux