ACPI: LPSS: Replace loop with first entry retrieval
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 29 Aug 2022 14:11:28 +0000 (17:11 +0300)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 30 Sep 2022 18:51:07 +0000 (20:51 +0200)
After the commit 6505e452371d ("ACPI: LPSS: Use the helper
acpi_dev_get_memory_resources()") the list is empty or
contains only resource of IORESOURCE_MEM type. Hence, no
need to check for the type, and since we break after the
first found, no need to iterate over full list. That said,
replace loop with first entry retrieval.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpi_lpss.c

index 4f6cba8..c39a0a8 100644 (file)
@@ -656,16 +656,14 @@ static int acpi_lpss_create_device(struct acpi_device *adev,
        if (ret < 0)
                goto err_out;
 
-       list_for_each_entry(rentry, &resource_list, node)
-               if (resource_type(rentry->res) == IORESOURCE_MEM) {
-                       if (dev_desc->prv_size_override)
-                               pdata->mmio_size = dev_desc->prv_size_override;
-                       else
-                               pdata->mmio_size = resource_size(rentry->res);
-                       pdata->mmio_base = ioremap(rentry->res->start,
-                                                  pdata->mmio_size);
-                       break;
-               }
+       rentry = list_first_entry_or_null(&resource_list, struct resource_entry, node);
+       if (rentry) {
+               if (dev_desc->prv_size_override)
+                       pdata->mmio_size = dev_desc->prv_size_override;
+               else
+                       pdata->mmio_size = resource_size(rentry->res);
+               pdata->mmio_base = ioremap(rentry->res->start, pdata->mmio_size);
+       }
 
        acpi_dev_free_resource_list(&resource_list);