platform/x86: think-lmi: Use strreplace() to replace a character by nul
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 18 Sep 2023 13:51:16 +0000 (16:51 +0300)
committerHans de Goede <hdegoede@redhat.com>
Thu, 21 Sep 2023 16:31:19 +0000 (18:31 +0200)
We can replace
p = strchrnul(str, '$OLD');
*p = '\0';
with
strreplace(str, '$OLD', '\0');
that does the compatible modification without a need of the temporary variable.

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230918135116.1248560-2-andriy.shevchenko@linux.intel.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/x86/think-lmi.c

index a5e87aa3395c83f89204bde250538a7ce86766ef..4be6f28d46000c3f4336dde5bcc6518283ebd397 100644 (file)
@@ -198,14 +198,6 @@ static struct think_lmi tlmi_priv;
 static struct class *fw_attr_class;
 static DEFINE_MUTEX(tlmi_mutex);
 
-/* ------ Utility functions ------------*/
-/* Strip out CR if one is present */
-static void strip_cr(char *str)
-{
-       char *p = strchrnul(str, '\n');
-       *p = '\0';
-}
-
 /* Convert BIOS WMI error string to suitable error code */
 static int tlmi_errstr_to_err(const char *errstr)
 {
@@ -411,7 +403,7 @@ static ssize_t current_password_store(struct kobject *kobj,
 
        strscpy(setting->password, buf, setting->maxlen);
        /* Strip out CR if one is present, setting password won't work if it is present */
-       strip_cr(setting->password);
+       strreplace(setting->password, '\n', '\0');
        return count;
 }
 
@@ -921,7 +913,7 @@ static ssize_t display_name_show(struct kobject *kobj, struct kobj_attribute *at
 static ssize_t current_value_show(struct kobject *kobj, struct kobj_attribute *attr, char *buf)
 {
        struct tlmi_attr_setting *setting = to_tlmi_attr_setting(kobj);
-       char *item, *value, *p;
+       char *item, *value;
        int ret;
 
        ret = tlmi_setting(setting->index, &item, LENOVO_BIOS_SETTING_GUID);
@@ -934,8 +926,7 @@ static ssize_t current_value_show(struct kobject *kobj, struct kobj_attribute *a
                ret = -EINVAL;
        else {
                /* On Workstations remove the Options part after the value */
-               p = strchrnul(value, ';');
-               *p = '\0';
+               strreplace(value, ';', '\0');
                ret = sysfs_emit(buf, "%s\n", value + 1);
        }
        kfree(item);
@@ -1540,7 +1531,6 @@ static int tlmi_analyze(void)
        for (i = 0; i < TLMI_SETTINGS_COUNT; ++i) {
                struct tlmi_attr_setting *setting;
                char *item = NULL;
-               char *p;
 
                tlmi_priv.setting[i] = NULL;
                ret = tlmi_setting(i, &item, LENOVO_BIOS_SETTING_GUID);
@@ -1557,8 +1547,7 @@ static int tlmi_analyze(void)
                strreplace(item, '/', '\\');
 
                /* Remove the value part */
-               p = strchrnul(item, ',');
-               *p = '\0';
+               strreplace(item, ',', '\0');
 
                /* Create a setting entry */
                setting = kzalloc(sizeof(*setting), GFP_KERNEL);