diff mbox series

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

Message ID 20210410140253.1966892-1-andy.shevchenko@gmail.com (mailing list archive)
State Mainlined, archived
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;