lkml.org 
[lkml]   [2023]   [Mar]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 2/4] platform/x86: think-lmi: use correct possible_values delimiters
    Date
    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@weissschuh.net>
    Fixes: a40cd7ef22fb ("platform/x86: think-lmi: Add WMI interface support on Lenovo platforms")
    Signed-off-by: Mark Pearson <mpearson-lenovo@squebb.ca>
    ---
    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");
    }
    /* 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
    \
     
     \ /
      Last update: 2023-03-27 01:07    [W:2.454 / U:0.144 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site