diff mbox series

[v2,1/1] infiniband: hf1: Use string_upper() instead of open coded variant

Message ID 20211001123153.67379-1-andriy.shevchenko@linux.intel.com (mailing list archive)
State Accepted
Delegated to: Jason Gunthorpe
Headers show
Series [v2,1/1] infiniband: hf1: Use string_upper() instead of open coded variant | expand

Commit Message

Andy Shevchenko Oct. 1, 2021, 12:31 p.m. UTC
Use string_upper() from string helper module instead of open coded variant.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: fixed compilation error (Jason)
 drivers/infiniband/hw/hfi1/efivar.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

Comments

Joe Perches Oct. 1, 2021, 1:31 p.m. UTC | #1
On Fri, 2021-10-01 at 15:31 +0300, Andy Shevchenko wrote:
> Use string_upper() from string helper module instead of open coded variant.

Perhaps these string_upper and string_lower utility functions
should return dst not void so these functions could be used in
output calls.

So instead of:

+		string_upper(prefix_name, prefix_name);
 		snprintf(name, sizeof(name), "%s-%s", prefix_name, kind);

this could be consolidated:

		snprintf(name, sizeof(name), "%s-%s", string_upper(prefix_name), kind);

Perhaps:
---
 include/linux/string_helpers.h | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/include/linux/string_helpers.h b/include/linux/string_helpers.h
index 68189c4a2eb11..ef92a9471f2a9 100644
--- a/include/linux/string_helpers.h
+++ b/include/linux/string_helpers.h
@@ -81,18 +81,26 @@ static inline int string_escape_str_any_np(const char *src, char *dst,
 	return string_escape_str(src, dst, sz, ESCAPE_ANY_NP, only);
 }
 
-static inline void string_upper(char *dst, const char *src)
+static inline char *string_upper(char *dst, const char *src)
 {
+	char *rtn = dst;
+
 	do {
 		*dst++ = toupper(*src);
 	} while (*src++);
+
+	return rtn;
 }
 
-static inline void string_lower(char *dst, const char *src)
+static inline char *string_lower(char *dst, const char *src)
 {
+	char *rtn = dst;
+
 	do {
 		*dst++ = tolower(*src);
 	} while (*src++);
+
+	return rtn;
 }
 
 char *kstrdup_quotable(const char *src, gfp_t gfp);
Andy Shevchenko Oct. 1, 2021, 1:48 p.m. UTC | #2
On Fri, Oct 01, 2021 at 06:31:21AM -0700, Joe Perches wrote:
> On Fri, 2021-10-01 at 15:31 +0300, Andy Shevchenko wrote:
> > Use string_upper() from string helper module instead of open coded variant.
> 
> Perhaps these string_upper and string_lower utility functions
> should return dst not void so these functions could be used in
> output calls.

Perhaps.
Jason Gunthorpe Oct. 5, 2021, 6:23 p.m. UTC | #3
On Fri, Oct 01, 2021 at 03:31:53PM +0300, Andy Shevchenko wrote:
> Use string_upper() from string helper module instead of open coded variant.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> v2: fixed compilation error (Jason)
>  drivers/infiniband/hw/hfi1/efivar.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)

Applied to for-next, thanks

Jason
diff mbox series

Patch

diff --git a/drivers/infiniband/hw/hfi1/efivar.c b/drivers/infiniband/hw/hfi1/efivar.c
index f275dd1abed8..e8ed05516bf2 100644
--- a/drivers/infiniband/hw/hfi1/efivar.c
+++ b/drivers/infiniband/hw/hfi1/efivar.c
@@ -3,7 +3,9 @@ 
  * Copyright(c) 2015, 2016 Intel Corporation.
  */
 
-#include <linux/ctype.h>
+#include <linux/string.h>
+#include <linux/string_helpers.h>
+
 #include "efivar.h"
 
 /* GUID for HFI1 variables in EFI */
@@ -112,7 +114,6 @@  int read_hfi1_efi_var(struct hfi1_devdata *dd, const char *kind,
 	char prefix_name[64];
 	char name[64];
 	int result;
-	int i;
 
 	/* create a common prefix */
 	snprintf(prefix_name, sizeof(prefix_name), "%04x:%02x:%02x.%x",
@@ -128,10 +129,7 @@  int read_hfi1_efi_var(struct hfi1_devdata *dd, const char *kind,
 	 * variable.
 	 */
 	if (result) {
-		/* Converting to uppercase */
-		for (i = 0; prefix_name[i]; i++)
-			if (isalpha(prefix_name[i]))
-				prefix_name[i] = toupper(prefix_name[i]);
+		string_upper(prefix_name, prefix_name);
 		snprintf(name, sizeof(name), "%s-%s", prefix_name, kind);
 		result = read_efi_var(name, size, return_data);
 	}