ACPI: scan: Utilize match_string() API
authorAndy Shevchenko <andy.shevchenko@gmail.com>
Sat, 10 Apr 2021 14:02:53 +0000 (17:02 +0300)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 12 Apr 2021 17:34:12 +0000 (19:34 +0200)
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>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/scan.c

index 0537778..1dea117 100644 (file)
@@ -757,27 +757,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;