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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxx>

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
> 
> 




[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux