ACPI: utils: Introduce acpi_evaluation_failure_warn()
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 5 Mar 2021 18:41:44 +0000 (19:41 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 8 Mar 2021 18:10:30 +0000 (19:10 +0100)
Quite a few users of ACPI objects want to log a warning message if
the evaluation fails which is a repeating pattern, so introduce a
helper function for that purpose and convert some code where it is
open-coded to using it.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/pci_link.c
drivers/acpi/processor_perflib.c
drivers/acpi/processor_throttling.c
drivers/acpi/utils.c
include/linux/acpi.h

index b9b80e26cb5cf438e5f4276e1cdd66cd06a35c1c..cb7b900d9466c84fa01b7d680936f0233a4fde7e 100644 (file)
@@ -256,8 +256,7 @@ static int acpi_pci_link_get_current(struct acpi_pci_link *link)
        status = acpi_walk_resources(handle, METHOD_NAME__CRS,
                                     acpi_pci_link_check_current, &irq);
        if (ACPI_FAILURE(status)) {
-               acpi_handle_warn(handle, "_CRS evaluation failed: %s\n",
-                                acpi_format_exception(status));
+               acpi_evaluation_failure_warn(handle, "_CRS", status);
                result = -ENODEV;
                goto end;
        }
@@ -345,8 +344,7 @@ static int acpi_pci_link_set(struct acpi_pci_link *link, int irq)
 
        /* check for total failure */
        if (ACPI_FAILURE(status)) {
-               acpi_handle_warn(handle, "_SRS evaluation failed: %s",
-                                acpi_format_exception(status));
+               acpi_evaluation_failure_warn(handle, "_SRS", status);
                result = -ENODEV;
                goto end;
        }
index 686b23fb968cf8da1accb0431e85bb6a93d3f4ec..1b6aa635bff6a5eb39e1097d9113bdff443dbadf 100644 (file)
@@ -67,9 +67,7 @@ static int acpi_processor_get_platform_limit(struct acpi_processor *pr)
                acpi_processor_ppc_in_use = true;
 
                if (ACPI_FAILURE(status)) {
-                       acpi_handle_warn(pr->handle,
-                                        "_PPC evaluation failed: %s\n",
-                                        acpi_format_exception(status));
+                       acpi_evaluation_failure_warn(pr->handle, "_PPC", status);
                        return -ENODEV;
                }
        }
@@ -199,8 +197,7 @@ static int acpi_processor_get_performance_control(struct acpi_processor *pr)
 
        status = acpi_evaluate_object(pr->handle, "_PCT", NULL, &buffer);
        if (ACPI_FAILURE(status)) {
-               acpi_handle_warn(pr->handle, "_PCT evaluation failed: %s\n",
-                                acpi_format_exception(status));
+               acpi_evaluation_failure_warn(pr->handle, "_PCT", status);
                return -ENODEV;
        }
 
@@ -300,8 +297,7 @@ static int acpi_processor_get_performance_states(struct acpi_processor *pr)
 
        status = acpi_evaluate_object(pr->handle, "_PSS", NULL, &buffer);
        if (ACPI_FAILURE(status)) {
-               acpi_handle_warn(pr->handle, "_PSS evaluation failed: %s\n",
-                                acpi_format_exception(status));
+               acpi_evaluation_failure_warn(pr->handle, "_PSS", status);
                return -ENODEV;
        }
 
index fb6834cb0882448d5693b87d1c81bdba24cc5af1..e61b8f038364bb5c0414c5ef4c09480479db02f2 100644 (file)
@@ -281,9 +281,7 @@ static int acpi_processor_get_platform_limit(struct acpi_processor *pr)
        status = acpi_evaluate_integer(pr->handle, "_TPC", NULL, &tpc);
        if (ACPI_FAILURE(status)) {
                if (status != AE_NOT_FOUND)
-                       acpi_handle_warn(pr->handle,
-                                        "_TPC evaluation failed: %s\n",
-                                        acpi_format_exception(status));
+                       acpi_evaluation_failure_warn(pr->handle, "_TPC", status);
 
                return -ENODEV;
        }
@@ -416,9 +414,7 @@ static int acpi_processor_get_throttling_control(struct acpi_processor *pr)
        status = acpi_evaluate_object(pr->handle, "_PTC", NULL, &buffer);
        if (ACPI_FAILURE(status)) {
                if (status != AE_NOT_FOUND)
-                       acpi_handle_warn(pr->handle,
-                                        "_PTC evaluation failed: %s\n",
-                                        acpi_format_exception(status));
+                       acpi_evaluation_failure_warn(pr->handle, "_PTC", status);
 
                return -ENODEV;
        }
@@ -503,9 +499,7 @@ static int acpi_processor_get_throttling_states(struct acpi_processor *pr)
        status = acpi_evaluate_object(pr->handle, "_TSS", NULL, &buffer);
        if (ACPI_FAILURE(status)) {
                if (status != AE_NOT_FOUND)
-                       acpi_handle_warn(pr->handle,
-                                        "_TSS evaluation failed: %s\n",
-                                        acpi_format_exception(status));
+                       acpi_evaluation_failure_warn(pr->handle, "_TSS", status);
 
                return -ENODEV;
        }
@@ -586,9 +580,7 @@ static int acpi_processor_get_tsd(struct acpi_processor *pr)
        status = acpi_evaluate_object(pr->handle, "_TSD", NULL, &buffer);
        if (ACPI_FAILURE(status)) {
                if (status != AE_NOT_FOUND)
-                       acpi_handle_warn(pr->handle,
-                                        "_TSD evaluation failed: %s\n",
-                                        acpi_format_exception(status));
+                       acpi_evaluation_failure_warn(pr->handle, "_TSD", status);
 
                return -ENODEV;
        }
index 682edd913b3b103d8d58182e7351cb9ce760eb96..f1aff4dab476807ff79134be8339470fc7d23fba 100644 (file)
@@ -511,6 +511,20 @@ __acpi_handle_debug(struct _ddebug *descriptor, acpi_handle handle,
 EXPORT_SYMBOL(__acpi_handle_debug);
 #endif
 
+/**
+ * acpi_evaluation_failure_warn - Log evaluation failure warning.
+ * @handle: Parent object handle.
+ * @name: Name of the object whose evaluation has failed.
+ * @status: Status value returned by the failing object evaluation.
+ */
+void acpi_evaluation_failure_warn(acpi_handle handle, const char *name,
+                                 acpi_status status)
+{
+       acpi_handle_warn(handle, "%s evaluation failed: %s\n", name,
+                        acpi_format_exception(status));
+}
+EXPORT_SYMBOL_GPL(acpi_evaluation_failure_warn);
+
 /**
  * acpi_has_method: Check whether @handle has a method named @name
  * @handle: ACPI device handle
index 9f432411e9883296c880f345323a344e26ea654d..35aa70defc57eee233f143fb0c63114d25596430 100644 (file)
@@ -1027,9 +1027,14 @@ static inline void acpi_ec_set_gpe_wake_mask(u8 action) {}
 __printf(3, 4)
 void acpi_handle_printk(const char *level, acpi_handle handle,
                        const char *fmt, ...);
+void acpi_evaluation_failure_warn(acpi_handle handle, const char *name,
+                                 acpi_status status);
 #else  /* !CONFIG_ACPI */
 static inline __printf(3, 4) void
 acpi_handle_printk(const char *level, void *handle, const char *fmt, ...) {}
+static inline void acpi_evaluation_failure_warn(acpi_handle handle,
+                                               const char *name,
+                                               acpi_status status) {}
 #endif /* !CONFIG_ACPI */
 
 #if defined(CONFIG_ACPI) && defined(CONFIG_DYNAMIC_DEBUG)