lkml.org 
[lkml]   [2021]   [Jun]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH net-next v8 10/15] ACPI: utils: Introduce acpi_get_local_address()
    On Thu, Jun 10, 2021 at 6:40 PM Ioana Ciornei <ciorneiioana@gmail.com> wrote:
    >
    > From: Calvin Johnson <calvin.johnson@oss.nxp.com>
    >
    > Introduce a wrapper around the _ADR evaluation.
    >
    > Signed-off-by: Calvin Johnson <calvin.johnson@oss.nxp.com>
    > Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    > Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>

    Acked-by: Rafael J. Wysocki <rafael@kernel.org>

    > ---
    >
    > Changes in v8: None
    > Changes in v7: None
    > Changes in v6: None
    > Changes in v5:
    > - Replace fwnode_get_id() with acpi_get_local_address()
    >
    > Changes in v4:
    > - Improve code structure to handle all cases
    >
    > Changes in v3:
    > - Modified to retrieve reg property value for ACPI as well
    > - Resolved compilation issue with CONFIG_ACPI = n
    > - Added more info into documentation
    >
    > drivers/acpi/utils.c | 14 ++++++++++++++
    > include/linux/acpi.h | 7 +++++++
    > 2 files changed, 21 insertions(+)
    >
    > 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,
    > diff --git a/include/linux/acpi.h b/include/linux/acpi.h
    > index c60745f657e9..6ace3a0f1415 100644
    > --- a/include/linux/acpi.h
    > +++ b/include/linux/acpi.h
    > @@ -710,6 +710,8 @@ static inline u64 acpi_arch_get_root_pointer(void)
    > }
    > #endif
    >
    > +int acpi_get_local_address(acpi_handle handle, u32 *addr);
    > +
    > #else /* !CONFIG_ACPI */
    >
    > #define acpi_disabled 1
    > @@ -965,6 +967,11 @@ static inline struct acpi_device *acpi_resource_consumer(struct resource *res)
    > return NULL;
    > }
    >
    > +static inline int acpi_get_local_address(acpi_handle handle, u32 *addr)
    > +{
    > + return -ENODEV;
    > +}
    > +
    > #endif /* !CONFIG_ACPI */
    >
    > #ifdef CONFIG_ACPI_HOTPLUG_IOAPIC
    > --
    > 2.31.1
    >

    \
     
     \ /
      Last update: 2021-06-10 20:09    [W:4.236 / U:0.920 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site