[PATCH] string: implement streq()

From: Alexey Dobriyan
Date: Sat Apr 01 2023 - 13:48:13 EST


Most of the time strcmp() is being used, strings are checked for equality.
Add wrapper to relay such intent (it is shorter to type, too).

Use
if (streq(s, "s")) {
}
or
if (!streq(s, "s")) {
}

Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx>
---

drivers/clk/socfpga/clk-gate-a10.c | 2 --
drivers/clk/socfpga/clk.h | 1 -
include/linux/string.h | 6 ++++++
scripts/dtc/dtc.h | 6 +++++-
4 files changed, 11 insertions(+), 4 deletions(-)

--- a/drivers/clk/socfpga/clk-gate-a10.c
+++ b/drivers/clk/socfpga/clk-gate-a10.c
@@ -11,8 +11,6 @@

#include "clk.h"

-#define streq(a, b) (strcmp((a), (b)) == 0)
-
#define to_socfpga_gate_clk(p) container_of(p, struct socfpga_gate_clk, hw.hw)

/* SDMMC Group for System Manager defines */
--- a/drivers/clk/socfpga/clk.h
+++ b/drivers/clk/socfpga/clk.h
@@ -19,7 +19,6 @@

#define SOCFPGA_MAX_PARENTS 5

-#define streq(a, b) (strcmp((a), (b)) == 0)
#define SYSMGR_SDMMC_CTRL_SET(smplsel, drvsel) \
((((smplsel) & 0x7) << 3) | (((drvsel) & 0x7) << 0))

--- a/include/linux/string.h
+++ b/include/linux/string.h
@@ -47,6 +47,12 @@ extern size_t strlcat(char *, const char *, __kernel_size_t);
#ifndef __HAVE_ARCH_STRCMP
extern int strcmp(const char *,const char *);
#endif
+
+static inline bool streq(const char *a, const char *b)
+{
+ return strcmp(a, b) == 0;
+}
+
#ifndef __HAVE_ARCH_STRNCMP
extern int strncmp(const char *,const char *,__kernel_size_t);
#endif
--- a/scripts/dtc/dtc.h
+++ b/scripts/dtc/dtc.h
@@ -88,7 +88,11 @@ static inline uint64_t dtb_ld64(const void *p)
| bp[7];
}

-#define streq(a, b) (strcmp((a), (b)) == 0)
+static inline bool streq(const char *a, const char *b)
+{
+ return strcmp(a, b) == 0;
+}
+
#define strstarts(s, prefix) (strncmp((s), (prefix), strlen(prefix)) == 0)
#define strprefixeq(a, n, b) (strlen(b) == (n) && (memcmp(a, b, n) == 0))
static inline bool strends(const char *str, const char *suffix)