ACPI: x86: s2idle: Add for_each_lpi_constraint() helper
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 18 Aug 2023 19:40:06 +0000 (14:40 -0500)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 21 Aug 2023 18:28:20 +0000 (20:28 +0200)
We have one existing and one coming user of this macro.
Introduce a helper.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/x86/s2idle.c

index 8756333..1aa3cd5 100644 (file)
@@ -94,6 +94,11 @@ static struct lpi_constraints *lpi_constraints_table;
 static int lpi_constraints_table_size;
 static int rev_id;
 
+#define for_each_lpi_constraint(entry)                                         \
+       for (int i = 0;                                                         \
+            entry = &lpi_constraints_table[i], i < lpi_constraints_table_size; \
+            i++)
+
 static void lpi_device_get_constraints_amd(void)
 {
        union acpi_object *out_obj;
@@ -296,30 +301,29 @@ free_acpi_buffer:
 
 static void lpi_check_constraints(void)
 {
-       int i;
+       struct lpi_constraints *entry;
 
-       for (i = 0; i < lpi_constraints_table_size; ++i) {
-               acpi_handle handle = lpi_constraints_table[i].handle;
-               struct acpi_device *adev = acpi_fetch_acpi_dev(handle);
+       for_each_lpi_constraint(entry) {
+               struct acpi_device *adev = acpi_fetch_acpi_dev(entry->handle);
 
                if (!adev)
                        continue;
 
-               acpi_handle_debug(handle,
+               acpi_handle_debug(entry->handle,
                        "LPI: required min power state:%s current power state:%s\n",
-                       acpi_power_state_string(lpi_constraints_table[i].min_dstate),
+                       acpi_power_state_string(entry->min_dstate),
                        acpi_power_state_string(adev->power.state));
 
                if (!adev->flags.power_manageable) {
-                       acpi_handle_info(handle, "LPI: Device not power manageable\n");
-                       lpi_constraints_table[i].handle = NULL;
+                       acpi_handle_info(entry->handle, "LPI: Device not power manageable\n");
+                       entry->handle = NULL;
                        continue;
                }
 
-               if (adev->power.state < lpi_constraints_table[i].min_dstate)
-                       acpi_handle_info(handle,
+               if (adev->power.state < entry->min_dstate)
+                       acpi_handle_info(entry->handle,
                                "LPI: Constraint not met; min power state:%s current power state:%s\n",
-                               acpi_power_state_string(lpi_constraints_table[i].min_dstate),
+                               acpi_power_state_string(entry->min_dstate),
                                acpi_power_state_string(adev->power.state));
        }
 }