[PATCH v1 2/4] ACPI: utils: Introduce acpi_evaluation_failure_warn()

Rafael J. Wysocki
2021-03-05T18:45:44Z

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 | 6 ++----
drivers/acpi/processor_perflib.c | 10 +++-------
drivers/acpi/processor_throttling.c | 16 ++++------------
drivers/acpi/utils.c | 14 ++++++++++++++
include/linux/acpi.h | 5 +++++
5 files changed, 28 insertions(+), 23 deletions(-)

Index: linux-pm/drivers/acpi/utils.c
===================================================================
--- linux-pm.orig/drivers/acpi/utils.c
+++ linux-pm/drivers/acpi/utils.c
@@ -512,6 +512,20 @@ 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
* @name: name of object or method
Index: linux-pm/include/linux/acpi.h
===================================================================
--- linux-pm.orig/include/linux/acpi.h
+++ linux-pm/include/linux/acpi.h
@@ -1027,9 +1027,14 @@ static inline void acpi_ec_set_gpe_wake_
__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)
Index: linux-pm/drivers/acpi/processor_throttling.c
===================================================================
--- linux-pm.orig/drivers/acpi/processor_throttling.c
+++ linux-pm/drivers/acpi/processor_throttling.c
@@ -281,9 +281,7 @@ static int acpi_processor_get_platform_l
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
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
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
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: linux-pm/drivers/acpi/pci_link.c
===================================================================
--- linux-pm.orig/drivers/acpi/pci_link.c
+++ linux-pm/drivers/acpi/pci_link.c
@@ -256,8 +256,7 @@ static int acpi_pci_link_get_current(str
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

/* 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: linux-pm/drivers/acpi/processor_perflib.c
===================================================================
--- linux-pm.orig/drivers/acpi/processor_perflib.c
+++ linux-pm/drivers/acpi/processor_perflib.c
@@ -67,9 +67,7 @@ static int acpi_processor_get_platform_l
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_performanc

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_performanc

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;
}