diff mbox series

[v1] platform/x86: thinkpad_acpi: use strstarts()

Message ID 20221021180007.55535-1-pobrn@protonmail.com (mailing list archive)
State Accepted, archived
Headers show
Series [v1] platform/x86: thinkpad_acpi: use strstarts() | expand

Commit Message

Barnabás Pőcze Oct. 21, 2022, 6:17 p.m. UTC
There is a function, `strstarts()`, in linux/string.h
to check if a string is prefix of another. So remove
the custom version from the driver.

Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com>
---
 drivers/platform/x86/thinkpad_acpi.c | 58 +++++++++++++---------------
 1 file changed, 27 insertions(+), 31 deletions(-)

--
2.38.1

Comments

Hans de Goede Nov. 7, 2022, 2:17 p.m. UTC | #1
Hi,

On 10/21/22 20:17, Barnabás Pőcze wrote:
> There is a function, `strstarts()`, in linux/string.h
> to check if a string is prefix of another. So remove
> the custom version from the driver.
> 
> Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com>

Thank you for your patch, I've applied this patch to my review-hans 
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

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

Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.

Regards,

Hans



> ---
>  drivers/platform/x86/thinkpad_acpi.c | 58 +++++++++++++---------------
>  1 file changed, 27 insertions(+), 31 deletions(-)
> 
> diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
> index 6a823b850a77..7a1d5402697e 100644
> --- a/drivers/platform/x86/thinkpad_acpi.c
> +++ b/drivers/platform/x86/thinkpad_acpi.c
> @@ -263,9 +263,6 @@ enum tpacpi_hkey_event_t {
>  #define TPACPI_DBG_BRGHT	0x0020
>  #define TPACPI_DBG_MIXER	0x0040
> 
> -#define strlencmp(a, b) (strncmp((a), (b), strlen(b)))
> -
> -
>  /****************************************************************************
>   * Driver-wide structs and misc. variables
>   */
> @@ -1333,9 +1330,9 @@ static int tpacpi_rfk_procfs_write(const enum tpacpi_rfk_id id, char *buf)
>  		return -ENODEV;
> 
>  	while ((cmd = strsep(&buf, ","))) {
> -		if (strlencmp(cmd, "enable") == 0)
> +		if (strstarts(cmd, "enable"))
>  			status = TPACPI_RFK_RADIO_ON;
> -		else if (strlencmp(cmd, "disable") == 0)
> +		else if (strstarts(cmd, "disable"))
>  			status = TPACPI_RFK_RADIO_OFF;
>  		else
>  			return -EINVAL;
> @@ -4196,12 +4193,12 @@ static int hotkey_write(char *buf)
> 
>  	res = 0;
>  	while ((cmd = strsep(&buf, ","))) {
> -		if (strlencmp(cmd, "enable") == 0) {
> +		if (strstarts(cmd, "enable")) {
>  			hotkey_enabledisable_warn(1);
> -		} else if (strlencmp(cmd, "disable") == 0) {
> +		} else if (strstarts(cmd, "disable")) {
>  			hotkey_enabledisable_warn(0);
>  			res = -EPERM;
> -		} else if (strlencmp(cmd, "reset") == 0) {
> +		} else if (strstarts(cmd, "reset")) {
>  			mask = (hotkey_all_mask | hotkey_source_mask)
>  				& ~hotkey_reserved_mask;
>  		} else if (sscanf(cmd, "0x%x", &mask) == 1) {
> @@ -5223,33 +5220,33 @@ static int video_write(char *buf)
>  	disable = 0;
> 
>  	while ((cmd = strsep(&buf, ","))) {
> -		if (strlencmp(cmd, "lcd_enable") == 0) {
> +		if (strstarts(cmd, "lcd_enable")) {
>  			enable |= TP_ACPI_VIDEO_S_LCD;
> -		} else if (strlencmp(cmd, "lcd_disable") == 0) {
> +		} else if (strstarts(cmd, "lcd_disable")) {
>  			disable |= TP_ACPI_VIDEO_S_LCD;
> -		} else if (strlencmp(cmd, "crt_enable") == 0) {
> +		} else if (strstarts(cmd, "crt_enable")) {
>  			enable |= TP_ACPI_VIDEO_S_CRT;
> -		} else if (strlencmp(cmd, "crt_disable") == 0) {
> +		} else if (strstarts(cmd, "crt_disable")) {
>  			disable |= TP_ACPI_VIDEO_S_CRT;
>  		} else if (video_supported == TPACPI_VIDEO_NEW &&
> -			   strlencmp(cmd, "dvi_enable") == 0) {
> +			   strstarts(cmd, "dvi_enable")) {
>  			enable |= TP_ACPI_VIDEO_S_DVI;
>  		} else if (video_supported == TPACPI_VIDEO_NEW &&
> -			   strlencmp(cmd, "dvi_disable") == 0) {
> +			   strstarts(cmd, "dvi_disable")) {
>  			disable |= TP_ACPI_VIDEO_S_DVI;
> -		} else if (strlencmp(cmd, "auto_enable") == 0) {
> +		} else if (strstarts(cmd, "auto_enable")) {
>  			res = video_autosw_set(1);
>  			if (res)
>  				return res;
> -		} else if (strlencmp(cmd, "auto_disable") == 0) {
> +		} else if (strstarts(cmd, "auto_disable")) {
>  			res = video_autosw_set(0);
>  			if (res)
>  				return res;
> -		} else if (strlencmp(cmd, "video_switch") == 0) {
> +		} else if (strstarts(cmd, "video_switch")) {
>  			res = video_outputsw_cycle();
>  			if (res)
>  				return res;
> -		} else if (strlencmp(cmd, "expand_toggle") == 0) {
> +		} else if (strstarts(cmd, "expand_toggle")) {
>  			res = video_expand_toggle();
>  			if (res)
>  				return res;
> @@ -5642,9 +5639,9 @@ static int light_write(char *buf)
>  		return -ENODEV;
> 
>  	while ((cmd = strsep(&buf, ","))) {
> -		if (strlencmp(cmd, "on") == 0) {
> +		if (strstarts(cmd, "on")) {
>  			newstatus = 1;
> -		} else if (strlencmp(cmd, "off") == 0) {
> +		} else if (strstarts(cmd, "off")) {
>  			newstatus = 0;
>  		} else
>  			return -EINVAL;
> @@ -7115,10 +7112,10 @@ static int brightness_write(char *buf)
>  		return level;
> 
>  	while ((cmd = strsep(&buf, ","))) {
> -		if (strlencmp(cmd, "up") == 0) {
> +		if (strstarts(cmd, "up")) {
>  			if (level < bright_maxlvl)
>  				level++;
> -		} else if (strlencmp(cmd, "down") == 0) {
> +		} else if (strstarts(cmd, "down")) {
>  			if (level > 0)
>  				level--;
>  		} else if (sscanf(cmd, "level %d", &level) == 1 &&
> @@ -7867,13 +7864,13 @@ static int volume_write(char *buf)
> 
>  	while ((cmd = strsep(&buf, ","))) {
>  		if (!tp_features.mixer_no_level_control) {
> -			if (strlencmp(cmd, "up") == 0) {
> +			if (strstarts(cmd, "up")) {
>  				if (new_mute)
>  					new_mute = 0;
>  				else if (new_level < TP_EC_VOLUME_MAX)
>  					new_level++;
>  				continue;
> -			} else if (strlencmp(cmd, "down") == 0) {
> +			} else if (strstarts(cmd, "down")) {
>  				if (new_mute)
>  					new_mute = 0;
>  				else if (new_level > 0)
> @@ -7885,9 +7882,9 @@ static int volume_write(char *buf)
>  				continue;
>  			}
>  		}
> -		if (strlencmp(cmd, "mute") == 0)
> +		if (strstarts(cmd, "mute"))
>  			new_mute = TP_EC_AUDIO_MUTESW_MSK;
> -		else if (strlencmp(cmd, "unmute") == 0)
> +		else if (strstarts(cmd, "unmute"))
>  			new_mute = 0;
>  		else
>  			return -EINVAL;
> @@ -9110,10 +9107,9 @@ static int fan_write_cmd_level(const char *cmd, int *rc)
>  {
>  	int level;
> 
> -	if (strlencmp(cmd, "level auto") == 0)
> +	if (strstarts(cmd, "level auto"))
>  		level = TP_EC_FAN_AUTO;
> -	else if ((strlencmp(cmd, "level disengaged") == 0) ||
> -			(strlencmp(cmd, "level full-speed") == 0))
> +	else if (strstarts(cmd, "level disengaged") || strstarts(cmd, "level full-speed"))
>  		level = TP_EC_FAN_FULLSPEED;
>  	else if (sscanf(cmd, "level %d", &level) != 1)
>  		return 0;
> @@ -9131,7 +9127,7 @@ static int fan_write_cmd_level(const char *cmd, int *rc)
> 
>  static int fan_write_cmd_enable(const char *cmd, int *rc)
>  {
> -	if (strlencmp(cmd, "enable") != 0)
> +	if (!strstarts(cmd, "enable"))
>  		return 0;
> 
>  	*rc = fan_set_enable();
> @@ -9146,7 +9142,7 @@ static int fan_write_cmd_enable(const char *cmd, int *rc)
> 
>  static int fan_write_cmd_disable(const char *cmd, int *rc)
>  {
> -	if (strlencmp(cmd, "disable") != 0)
> +	if (!strstarts(cmd, "disable"))
>  		return 0;
> 
>  	*rc = fan_set_disable();
> --
> 2.38.1
> 
>
diff mbox series

Patch

diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index 6a823b850a77..7a1d5402697e 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -263,9 +263,6 @@  enum tpacpi_hkey_event_t {
 #define TPACPI_DBG_BRGHT	0x0020
 #define TPACPI_DBG_MIXER	0x0040

-#define strlencmp(a, b) (strncmp((a), (b), strlen(b)))
-
-
 /****************************************************************************
  * Driver-wide structs and misc. variables
  */
@@ -1333,9 +1330,9 @@  static int tpacpi_rfk_procfs_write(const enum tpacpi_rfk_id id, char *buf)
 		return -ENODEV;

 	while ((cmd = strsep(&buf, ","))) {
-		if (strlencmp(cmd, "enable") == 0)
+		if (strstarts(cmd, "enable"))
 			status = TPACPI_RFK_RADIO_ON;
-		else if (strlencmp(cmd, "disable") == 0)
+		else if (strstarts(cmd, "disable"))
 			status = TPACPI_RFK_RADIO_OFF;
 		else
 			return -EINVAL;
@@ -4196,12 +4193,12 @@  static int hotkey_write(char *buf)

 	res = 0;
 	while ((cmd = strsep(&buf, ","))) {
-		if (strlencmp(cmd, "enable") == 0) {
+		if (strstarts(cmd, "enable")) {
 			hotkey_enabledisable_warn(1);
-		} else if (strlencmp(cmd, "disable") == 0) {
+		} else if (strstarts(cmd, "disable")) {
 			hotkey_enabledisable_warn(0);
 			res = -EPERM;
-		} else if (strlencmp(cmd, "reset") == 0) {
+		} else if (strstarts(cmd, "reset")) {
 			mask = (hotkey_all_mask | hotkey_source_mask)
 				& ~hotkey_reserved_mask;
 		} else if (sscanf(cmd, "0x%x", &mask) == 1) {
@@ -5223,33 +5220,33 @@  static int video_write(char *buf)
 	disable = 0;

 	while ((cmd = strsep(&buf, ","))) {
-		if (strlencmp(cmd, "lcd_enable") == 0) {
+		if (strstarts(cmd, "lcd_enable")) {
 			enable |= TP_ACPI_VIDEO_S_LCD;
-		} else if (strlencmp(cmd, "lcd_disable") == 0) {
+		} else if (strstarts(cmd, "lcd_disable")) {
 			disable |= TP_ACPI_VIDEO_S_LCD;
-		} else if (strlencmp(cmd, "crt_enable") == 0) {
+		} else if (strstarts(cmd, "crt_enable")) {
 			enable |= TP_ACPI_VIDEO_S_CRT;
-		} else if (strlencmp(cmd, "crt_disable") == 0) {
+		} else if (strstarts(cmd, "crt_disable")) {
 			disable |= TP_ACPI_VIDEO_S_CRT;
 		} else if (video_supported == TPACPI_VIDEO_NEW &&
-			   strlencmp(cmd, "dvi_enable") == 0) {
+			   strstarts(cmd, "dvi_enable")) {
 			enable |= TP_ACPI_VIDEO_S_DVI;
 		} else if (video_supported == TPACPI_VIDEO_NEW &&
-			   strlencmp(cmd, "dvi_disable") == 0) {
+			   strstarts(cmd, "dvi_disable")) {
 			disable |= TP_ACPI_VIDEO_S_DVI;
-		} else if (strlencmp(cmd, "auto_enable") == 0) {
+		} else if (strstarts(cmd, "auto_enable")) {
 			res = video_autosw_set(1);
 			if (res)
 				return res;
-		} else if (strlencmp(cmd, "auto_disable") == 0) {
+		} else if (strstarts(cmd, "auto_disable")) {
 			res = video_autosw_set(0);
 			if (res)
 				return res;
-		} else if (strlencmp(cmd, "video_switch") == 0) {
+		} else if (strstarts(cmd, "video_switch")) {
 			res = video_outputsw_cycle();
 			if (res)
 				return res;
-		} else if (strlencmp(cmd, "expand_toggle") == 0) {
+		} else if (strstarts(cmd, "expand_toggle")) {
 			res = video_expand_toggle();
 			if (res)
 				return res;
@@ -5642,9 +5639,9 @@  static int light_write(char *buf)
 		return -ENODEV;

 	while ((cmd = strsep(&buf, ","))) {
-		if (strlencmp(cmd, "on") == 0) {
+		if (strstarts(cmd, "on")) {
 			newstatus = 1;
-		} else if (strlencmp(cmd, "off") == 0) {
+		} else if (strstarts(cmd, "off")) {
 			newstatus = 0;
 		} else
 			return -EINVAL;
@@ -7115,10 +7112,10 @@  static int brightness_write(char *buf)
 		return level;

 	while ((cmd = strsep(&buf, ","))) {
-		if (strlencmp(cmd, "up") == 0) {
+		if (strstarts(cmd, "up")) {
 			if (level < bright_maxlvl)
 				level++;
-		} else if (strlencmp(cmd, "down") == 0) {
+		} else if (strstarts(cmd, "down")) {
 			if (level > 0)
 				level--;
 		} else if (sscanf(cmd, "level %d", &level) == 1 &&
@@ -7867,13 +7864,13 @@  static int volume_write(char *buf)

 	while ((cmd = strsep(&buf, ","))) {
 		if (!tp_features.mixer_no_level_control) {
-			if (strlencmp(cmd, "up") == 0) {
+			if (strstarts(cmd, "up")) {
 				if (new_mute)
 					new_mute = 0;
 				else if (new_level < TP_EC_VOLUME_MAX)
 					new_level++;
 				continue;
-			} else if (strlencmp(cmd, "down") == 0) {
+			} else if (strstarts(cmd, "down")) {
 				if (new_mute)
 					new_mute = 0;
 				else if (new_level > 0)
@@ -7885,9 +7882,9 @@  static int volume_write(char *buf)
 				continue;
 			}
 		}
-		if (strlencmp(cmd, "mute") == 0)
+		if (strstarts(cmd, "mute"))
 			new_mute = TP_EC_AUDIO_MUTESW_MSK;
-		else if (strlencmp(cmd, "unmute") == 0)
+		else if (strstarts(cmd, "unmute"))
 			new_mute = 0;
 		else
 			return -EINVAL;
@@ -9110,10 +9107,9 @@  static int fan_write_cmd_level(const char *cmd, int *rc)
 {
 	int level;

-	if (strlencmp(cmd, "level auto") == 0)
+	if (strstarts(cmd, "level auto"))
 		level = TP_EC_FAN_AUTO;
-	else if ((strlencmp(cmd, "level disengaged") == 0) ||
-			(strlencmp(cmd, "level full-speed") == 0))
+	else if (strstarts(cmd, "level disengaged") || strstarts(cmd, "level full-speed"))
 		level = TP_EC_FAN_FULLSPEED;
 	else if (sscanf(cmd, "level %d", &level) != 1)
 		return 0;
@@ -9131,7 +9127,7 @@  static int fan_write_cmd_level(const char *cmd, int *rc)

 static int fan_write_cmd_enable(const char *cmd, int *rc)
 {
-	if (strlencmp(cmd, "enable") != 0)
+	if (!strstarts(cmd, "enable"))
 		return 0;

 	*rc = fan_set_enable();
@@ -9146,7 +9142,7 @@  static int fan_write_cmd_enable(const char *cmd, int *rc)

 static int fan_write_cmd_disable(const char *cmd, int *rc)
 {
-	if (strlencmp(cmd, "disable") != 0)
+	if (!strstarts(cmd, "disable"))
 		return 0;

 	*rc = fan_set_disable();