[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0g8aW5FBbceYJDvDrMHRxT6i71O_LTWKALb=qr+m1BJ7w@mail.gmail.com>
Date: Fri, 7 Jun 2024 20:51:16 +0200
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
Cc: linux-sound@...r.kernel.org, alsa-devel@...a-project.org, tiwai@...e.de,
broonie@...nel.org, rafael@...nel.org, vkoul@...nel.org,
andriy.shevchenko@...ux.intel.com,
Péter Ujfalusi <peter.ujfalusi@...ux.intel.com>,
Bard Liao <yung-chuan.liao@...ux.intel.com>, Len Brown <lenb@...nel.org>,
"open list:ACPI" <linux-acpi@...r.kernel.org>, open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/3] ACPI: utils: introduce acpi_get_local_u64_address()
On Tue, May 28, 2024 at 9:29 PM Pierre-Louis Bossart
<pierre-louis.bossart@...ux.intel.com> wrote:
>
> The ACPI _ADR is a 64-bit value. We changed the definitions in commit
> ca6f998cf9a2 ("ACPI: bus: change _ADR representation to 64 bits") but
> some helpers still assume the value is a 32-bit value.
>
> This patch adds a new helper to extract the full 64-bits. The existing
> 32-bit helper is kept for backwards-compatibility and cases where the
> _ADR is known to fit in a 32-bit value.
>
> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@...ux.intel.com>
> Reviewed-by: Bard Liao <yung-chuan.liao@...ux.intel.com>
Do you want me to apply this or do you want me to route it along with
the rest of the series?
In the latter case feel free to add
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
to it.
Thanks!
> ---
> drivers/acpi/utils.c | 22 ++++++++++++++++------
> include/linux/acpi.h | 1 +
> 2 files changed, 17 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/acpi/utils.c b/drivers/acpi/utils.c
> index 202234ba54bd..ae9384282273 100644
> --- a/drivers/acpi/utils.c
> +++ b/drivers/acpi/utils.c
> @@ -277,15 +277,25 @@ acpi_evaluate_integer(acpi_handle handle,
>
> EXPORT_SYMBOL(acpi_evaluate_integer);
>
> +int acpi_get_local_u64_address(acpi_handle handle, u64 *addr)
> +{
> + acpi_status status;
> +
> + status = acpi_evaluate_integer(handle, METHOD_NAME__ADR, NULL, addr);
> + if (ACPI_FAILURE(status))
> + return -ENODATA;
> + return 0;
> +}
> +EXPORT_SYMBOL(acpi_get_local_u64_address);
I'd prefer EXPORT_SYMBOL_GPL() here unless you absolutely cannot live with it.
> +
> 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;
> + u64 adr;
> + int ret;
>
> + ret = acpi_get_local_u64_address(handle, &adr);
> + if (ret < 0)
> + return ret;
> *addr = (u32)adr;
> return 0;
> }
> diff --git a/include/linux/acpi.h b/include/linux/acpi.h
> index 28c3fb2bef0d..65e7177bcb02 100644
> --- a/include/linux/acpi.h
> +++ b/include/linux/acpi.h
> @@ -761,6 +761,7 @@ static inline u64 acpi_arch_get_root_pointer(void)
> }
> #endif
>
> +int acpi_get_local_u64_address(acpi_handle handle, u64 *addr);
> int acpi_get_local_address(acpi_handle handle, u32 *addr);
> const char *acpi_get_subsystem_id(acpi_handle handle);
>
> --
Powered by blists - more mailing lists