diff mbox series

[v1,1/1] ACPI: scan: Utilize match_string() API

Message ID 20210410140253.1966892-1-andy.shevchenko@gmail.com
State Accepted
Commit 020505581119d191ee8da478783e2465d7f5fa8e
Headers show
Series [v1,1/1] ACPI: scan: Utilize match_string() API | expand

Commit Message

Andy Shevchenko April 10, 2021, 2:02 p.m. UTC
We have already an API to match a string in the array of strings.
Utilize it instead of open coded analogues.

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
---
 drivers/acpi/scan.c | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

Comments

Rafael J. Wysocki April 12, 2021, 5:35 p.m. UTC | #1
On Sat, Apr 10, 2021 at 4:02 PM Andy Shevchenko
<andy.shevchenko@gmail.com> wrote:
>

> We have already an API to match a string in the array of strings.

> Utilize it instead of open coded analogues.

>

> Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>

> ---

>  drivers/acpi/scan.c | 22 ++++++++++------------

>  1 file changed, 10 insertions(+), 12 deletions(-)

>

> diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c

> index b1d1f1a8ce69..bba6b529cf6c 100644

> --- a/drivers/acpi/scan.c

> +++ b/drivers/acpi/scan.c

> @@ -756,27 +756,25 @@ static bool acpi_info_matches_ids(struct acpi_device_info *info,

>                                   const char * const ids[])

>  {

>         struct acpi_pnp_device_id_list *cid_list = NULL;

> -       int i;

> +       int i, index;

>

>         if (!(info->valid & ACPI_VALID_HID))

>                 return false;

>

> +       index = match_string(ids, -1, info->hardware_id.string);

> +       if (index >= 0)

> +               return true;

> +

>         if (info->valid & ACPI_VALID_CID)

>                 cid_list = &info->compatible_id_list;

>

> -       for (i = 0; ids[i]; i++) {

> -               int j;

> +       if (!cid_list)

> +               return false;

>

> -               if (!strcmp(info->hardware_id.string, ids[i]))

> +       for (i = 0; i < cid_list->count; i++) {

> +               index = match_string(ids, -1, cid_list->ids[i].string);

> +               if (index >= 0)

>                         return true;

> -

> -               if (!cid_list)

> -                       continue;

> -

> -               for (j = 0; j < cid_list->count; j++) {

> -                       if (!strcmp(cid_list->ids[j].string, ids[i]))

> -                               return true;

> -               }

>         }

>

>         return false;

> --


Applied as 5.13 material, thanks!
diff mbox series

Patch

diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
index b1d1f1a8ce69..bba6b529cf6c 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -756,27 +756,25 @@  static bool acpi_info_matches_ids(struct acpi_device_info *info,
 				  const char * const ids[])
 {
 	struct acpi_pnp_device_id_list *cid_list = NULL;
-	int i;
+	int i, index;
 
 	if (!(info->valid & ACPI_VALID_HID))
 		return false;
 
+	index = match_string(ids, -1, info->hardware_id.string);
+	if (index >= 0)
+		return true;
+
 	if (info->valid & ACPI_VALID_CID)
 		cid_list = &info->compatible_id_list;
 
-	for (i = 0; ids[i]; i++) {
-		int j;
+	if (!cid_list)
+		return false;
 
-		if (!strcmp(info->hardware_id.string, ids[i]))
+	for (i = 0; i < cid_list->count; i++) {
+		index = match_string(ids, -1, cid_list->ids[i].string);
+		if (index >= 0)
 			return true;
-
-		if (!cid_list)
-			continue;
-
-		for (j = 0; j < cid_list->count; j++) {
-			if (!strcmp(cid_list->ids[j].string, ids[i]))
-				return true;
-		}
 	}
 
 	return false;