On 2023-07-31 22:54, Srinivasan Shanmugam wrote: > Usage of container_of is wrong here. > struct acpi_device *adev = container_of(handle, struct acpi_device, handle) > > This reverts commit 35ef33db90303589c76658207347539cf33f5ae3. > > References: https://gitlab.freedesktop.org/drm/amd/-/issues/2744 > Cc: Guchun Chen <guchun.chen@xxxxxxx> > Cc: Christian König <christian.koenig@xxxxxxx> > Cc: Alex Deucher <alexander.deucher@xxxxxxx> > Cc: Bert Karwatzki <spasswolf@xxxxxx> > Cc: "Pan, Xinhui" <Xinhui.Pan@xxxxxxx> > Cc: Luben Tuikov <luben.tuikov@xxxxxxx> > Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@xxxxxxx> > Reviewed-by: Guchun Chen <guchun.chen@xxxxxxx> Reviewed-by: Luben Tuikov <luben.tuikov@xxxxxxx> Regards, Luben > --- > v2: > - Added missing commit id. > > > drivers/gpu/drm/radeon/radeon_atpx_handler.c | 12 ++++-------- > 1 file changed, 4 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/radeon/radeon_atpx_handler.c b/drivers/gpu/drm/radeon/radeon_atpx_handler.c > index fb4d931fdf18..595354e3ce0b 100644 > --- a/drivers/gpu/drm/radeon/radeon_atpx_handler.c > +++ b/drivers/gpu/drm/radeon/radeon_atpx_handler.c > @@ -94,8 +94,6 @@ static union acpi_object *radeon_atpx_call(acpi_handle handle, int function, > union acpi_object atpx_arg_elements[2]; > struct acpi_object_list atpx_arg; > struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; > - struct acpi_device *adev = container_of(handle, struct acpi_device, handle); > - struct device *dev = &adev->dev; > > atpx_arg.count = 2; > atpx_arg.pointer = &atpx_arg_elements[0]; > @@ -117,8 +115,8 @@ static union acpi_object *radeon_atpx_call(acpi_handle handle, int function, > > /* Fail only if calling the method fails and ATPX is supported */ > if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) { > - dev_err(dev, "failed to evaluate ATPX got %s\n", > - acpi_format_exception(status)); > + pr_err("failed to evaluate ATPX got %s\n", > + acpi_format_exception(status)); > kfree(buffer.pointer); > return NULL; > } > @@ -159,8 +157,6 @@ static void radeon_atpx_parse_functions(struct radeon_atpx_functions *f, u32 mas > static int radeon_atpx_validate(struct radeon_atpx *atpx) > { > u32 valid_bits = 0; > - struct acpi_device *adev = container_of(atpx->handle, struct acpi_device, handle); > - struct device *dev = &adev->dev; > > if (atpx->functions.px_params) { > union acpi_object *info; > @@ -175,7 +171,7 @@ static int radeon_atpx_validate(struct radeon_atpx *atpx) > > size = *(u16 *) info->buffer.pointer; > if (size < 10) { > - dev_err(dev, "ATPX buffer is too small: %zu\n", size); > + pr_err("ATPX buffer is too small: %zu\n", size); > kfree(info); > return -EINVAL; > } > @@ -206,7 +202,7 @@ static int radeon_atpx_validate(struct radeon_atpx *atpx) > > atpx->is_hybrid = false; > if (valid_bits & ATPX_MS_HYBRID_GFX_SUPPORTED) { > - dev_info(dev, "ATPX Hybrid Graphics\n"); > + pr_info("ATPX Hybrid Graphics\n"); > /* > * Disable legacy PM methods only when pcie port PM is usable, > * otherwise the device might fail to power off or power on. -- Regards, Luben