[PATCH] platform/x86: acerhdf: Cleanup str_starts_with()

Wei Li posted 1 patch 4 years, 2 months ago
drivers/platform/x86/acerhdf.c | 21 +++------------------
1 file changed, 3 insertions(+), 18 deletions(-)
[PATCH] platform/x86: acerhdf: Cleanup str_starts_with()
Posted by Wei Li 4 years, 2 months ago
Since there is already a generic function strstarts() that check if a
string starts with a given prefix, cleanup str_starts_with().

Signed-off-by: Wei Li <liwei391@huawei.com>
---
 drivers/platform/x86/acerhdf.c | 21 +++------------------
 1 file changed, 3 insertions(+), 18 deletions(-)

diff --git a/drivers/platform/x86/acerhdf.c b/drivers/platform/x86/acerhdf.c
index 6b8b3ab8db48..3c589437b41e 100644
--- a/drivers/platform/x86/acerhdf.c
+++ b/drivers/platform/x86/acerhdf.c
@@ -584,21 +584,6 @@ static struct platform_driver acerhdf_driver = {
 	.remove = acerhdf_remove,
 };
 
-/* checks if str begins with start */
-static int str_starts_with(const char *str, const char *start)
-{
-	unsigned long str_len = 0, start_len = 0;
-
-	str_len = strlen(str);
-	start_len = strlen(start);
-
-	if (str_len >= start_len &&
-			!strncmp(str, start, start_len))
-		return 1;
-
-	return 0;
-}
-
 /* check hardware */
 static int __init acerhdf_check_hardware(void)
 {
@@ -651,9 +636,9 @@ static int __init acerhdf_check_hardware(void)
 		 * check if actual hardware BIOS vendor, product and version
 		 * IDs start with the strings of BIOS table entry
 		 */
-		if (str_starts_with(vendor, bt->vendor) &&
-				str_starts_with(product, bt->product) &&
-				str_starts_with(version, bt->version)) {
+		if (strstarts(vendor, bt->vendor) &&
+				strstarts(product, bt->product) &&
+				strstarts(version, bt->version)) {
 			found = 1;
 			break;
 		}
-- 
2.25.1
Re: [PATCH] platform/x86: acerhdf: Cleanup str_starts_with()
Posted by Joe Perches 4 years, 2 months ago
On Sat, 2022-03-26 at 10:02 +0800, Wei Li wrote:
> Since there is already a generic function strstarts() that check if a
> string starts with a given prefix, cleanup str_starts_with().
[]
> diff --git a/drivers/platform/x86/acerhdf.c b/drivers/platform/x86/acerhdf.c
> @@ -651,9 +636,9 @@ static int __init acerhdf_check_hardware(void)
>  		 * check if actual hardware BIOS vendor, product and version
>  		 * IDs start with the strings of BIOS table entry
>  		 */
> -		if (str_starts_with(vendor, bt->vendor) &&
> -				str_starts_with(product, bt->product) &&
> -				str_starts_with(version, bt->version)) {
> +		if (strstarts(vendor, bt->vendor) &&
> +				strstarts(product, bt->product) &&
> +				strstarts(version, bt->version)) {

IMO: It'd be easier for humans to read if aligned like:

		if (strstarts(vendor, bt->vendor) &&
		    strstarts(product, bt->product) &&
		    strstarts(version, bt->version)) {
Re: [PATCH] platform/x86: acerhdf: Cleanup str_starts_with()
Posted by Peter Kästle 4 years, 2 months ago
26. März 2022 02:53, "Wei Li" <liwei391@huawei.com> schrieb:

> Since there is already a generic function strstarts() that check if a
> string starts with a given prefix, cleanup str_starts_with().
> 
> Signed-off-by: Wei Li <liwei391@huawei.com>

Acked-by: Peter Kästle <peter@piie.net>

[...]
Re: [PATCH] platform/x86: acerhdf: Cleanup str_starts_with()
Posted by Hans de Goede 4 years, 2 months ago
Hi,

On 3/26/22 03:02, Wei Li wrote:
> Since there is already a generic function strstarts() that check if a
> string starts with a given prefix, cleanup str_starts_with().
> 
> Signed-off-by: Wei Li <liwei391@huawei.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/acerhdf.c | 21 +++------------------
>  1 file changed, 3 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/platform/x86/acerhdf.c b/drivers/platform/x86/acerhdf.c
> index 6b8b3ab8db48..3c589437b41e 100644
> --- a/drivers/platform/x86/acerhdf.c
> +++ b/drivers/platform/x86/acerhdf.c
> @@ -584,21 +584,6 @@ static struct platform_driver acerhdf_driver = {
>  	.remove = acerhdf_remove,
>  };
>  
> -/* checks if str begins with start */
> -static int str_starts_with(const char *str, const char *start)
> -{
> -	unsigned long str_len = 0, start_len = 0;
> -
> -	str_len = strlen(str);
> -	start_len = strlen(start);
> -
> -	if (str_len >= start_len &&
> -			!strncmp(str, start, start_len))
> -		return 1;
> -
> -	return 0;
> -}
> -
>  /* check hardware */
>  static int __init acerhdf_check_hardware(void)
>  {
> @@ -651,9 +636,9 @@ static int __init acerhdf_check_hardware(void)
>  		 * check if actual hardware BIOS vendor, product and version
>  		 * IDs start with the strings of BIOS table entry
>  		 */
> -		if (str_starts_with(vendor, bt->vendor) &&
> -				str_starts_with(product, bt->product) &&
> -				str_starts_with(version, bt->version)) {
> +		if (strstarts(vendor, bt->vendor) &&
> +				strstarts(product, bt->product) &&
> +				strstarts(version, bt->version)) {
>  			found = 1;
>  			break;
>  		}