On Wed, Dec 11, 2024 at 5:07 PM Ricardo Ribalda <ribalda@xxxxxxxxxxxx> wrote: > > Provide an implementation of acpi_get_physical_device_location that can > be used when CONFIG_ACPI is not set. > > Reviewed-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > Acked-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx> > Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx> > --- > include/acpi/acpi_bus.h | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h > index 2b09e513ecf3..b312a72f48ad 100644 > --- a/include/acpi/acpi_bus.h > +++ b/include/acpi/acpi_bus.h > @@ -43,9 +43,6 @@ acpi_status > acpi_evaluate_ost(acpi_handle handle, u32 source_event, u32 status_code, > struct acpi_buffer *status_buf); > > -acpi_status > -acpi_get_physical_device_location(acpi_handle handle, struct acpi_pld_info **pld); > - > bool acpi_has_method(acpi_handle handle, char *name); > acpi_status acpi_execute_simple_method(acpi_handle handle, char *method, > u64 arg); > @@ -60,6 +57,9 @@ bool acpi_check_dsm(acpi_handle handle, const guid_t *guid, u64 rev, u64 funcs); > union acpi_object *acpi_evaluate_dsm(acpi_handle handle, const guid_t *guid, > u64 rev, u64 func, union acpi_object *argv4); > #ifdef CONFIG_ACPI > +acpi_status > +acpi_get_physical_device_location(acpi_handle handle, struct acpi_pld_info **pld); > + > static inline union acpi_object * > acpi_evaluate_dsm_typed(acpi_handle handle, const guid_t *guid, u64 rev, > u64 func, union acpi_object *argv4, > @@ -1003,6 +1003,12 @@ static inline int unregister_acpi_bus_type(void *bus) { return 0; } > > static inline int acpi_wait_for_acpi_ipmi(void) { return 0; } > > +static inline acpi_status > +acpi_get_physical_device_location(acpi_handle handle, struct acpi_pld_info **pld) > +{ > + return AE_ERROR; > +} I overlooked this before, sorry. It generally is not OK to use acpi_status and/or AE_ error codes without CONFIG_ACPI and they really only should be used in drivers/acpi/ (and not everywhere in there for that matter). So acpi_get_physical_device_location() needs to be redefined to return something different from acpi_status (preferably bool) in order to be used in !CONFIG_ACPI code. > + > #define for_each_acpi_dev_match(adev, hid, uid, hrv) \ > for (adev = NULL; false && (hid) && (uid) && (hrv); ) > > > --