aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/utils.c
diff options
context:
space:
mode:
authorCalvin Johnson <[email protected]>2021-06-11 10:53:56 +0000
committerDavid S. Miller <[email protected]>2021-06-11 20:08:53 +0000
commit7ec16433cf1e97cfc823e50e9ee4e2fd3abfc4ee (patch)
tree299d86d04da0895a3513fc3305df914bd2db6eea /drivers/acpi/utils.c
parentof: mdio: Refactor of_mdiobus_register_phy() (diff)
downloadkernel-7ec16433cf1e97cfc823e50e9ee4e2fd3abfc4ee.tar.gz
kernel-7ec16433cf1e97cfc823e50e9ee4e2fd3abfc4ee.zip
ACPI: utils: Introduce acpi_get_local_address()
Introduce a wrapper around the _ADR evaluation. Signed-off-by: Calvin Johnson <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Signed-off-by: Ioana Ciornei <[email protected]> Acked-by: Rafael J. Wysocki <[email protected]> Acked-by: Grant Likely <[email protected]> Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'drivers/acpi/utils.c')
-rw-r--r--drivers/acpi/utils.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/acpi/utils.c b/drivers/acpi/utils.c
index 3b54b8fd7396..e7ddd281afff 100644
--- a/drivers/acpi/utils.c
+++ b/drivers/acpi/utils.c
@@ -277,6 +277,20 @@ acpi_evaluate_integer(acpi_handle handle,
EXPORT_SYMBOL(acpi_evaluate_integer);
+int acpi_get_local_address(acpi_handle handle, u32 *addr)
+{
+ unsigned long long adr;
+ acpi_status status;
+
+ status = acpi_evaluate_integer(handle, METHOD_NAME__ADR, NULL, &adr);
+ if (ACPI_FAILURE(status))
+ return -ENODATA;
+
+ *addr = (u32)adr;
+ return 0;
+}
+EXPORT_SYMBOL(acpi_get_local_address);
+
acpi_status
acpi_evaluate_reference(acpi_handle handle,
acpi_string pathname,