[PATCH] drm/amdgpu: Fix build with missing pm_suspend_target_state module export

Lazar, Lijo lijo.lazar at amd.com
Tue Aug 24 13:08:41 UTC 2021


On 8/24/2021 3:12 PM, Borislav Petkov wrote:
> From: Borislav Petkov <bp at suse.de>
> 
> Building a randconfig here triggered:
> 
>    ERROR: modpost: "pm_suspend_target_state" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
> 
> because the module export of that symbol happens in
> kernel/power/suspend.c which is enabled with CONFIG_SUSPEND.
> 
> The ifdef guards in amdgpu_acpi_is_s0ix_supported(), however, test for
> CONFIG_PM_SLEEP which is defined like this:
> 
>    config PM_SLEEP
>            def_bool y
>            depends on SUSPEND || HIBERNATE_CALLBACKS
> 
> and that randconfig has:
> 
>    # CONFIG_SUSPEND is not set
>    CONFIG_HIBERNATE_CALLBACKS=y
> 
> leading to the module export missing.
> 
> Change the ifdeffery to depend directly on CONFIG_SUSPEND.
> 

Hi Boris,

Thanks for the patch.

As far as I see, in linux/suspend.h,

extern suspend_state_t pm_suspend_target_state; is declared under

#ifdef CONFIG_PM_SLEEP

Without CONFIG_PM_SLEEP and with CONFIG_SUSPEND it may give variable not 
declared compilation error. Sorry to ask , but are you not getting the same?

I remember giving a reviewed-by for this one, looks like it never got in.
https://www.spinics.net/lists/amd-gfx/msg66166.html

Thanks,
Lijo

> Fixes: 5706cb3c910c ("drm/amdgpu: fix checking pmops when PM_SLEEP is not enabled")
> Signed-off-by: Borislav Petkov <bp at suse.de>
> Link: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flkml.kernel.org%2Fr%2FYSP6Lv53QV0cOAsd%40zn.tnic&data=04%7C01%7CLijo.Lazar%40amd.com%7C71b6769cdd574a05b32b08d966e37525%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637653949420453962%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ai%2B95gtZz0r0pXYaUkG97tiuaiykEy8%2FB%2FtmHP3W4Zs%3D&reserved=0
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c
> index 4137e848f6a2..a9ce3b20d371 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c
> @@ -1040,7 +1040,7 @@ void amdgpu_acpi_detect(void)
>    */
>   bool amdgpu_acpi_is_s0ix_supported(struct amdgpu_device *adev)
>   {
> -#if IS_ENABLED(CONFIG_AMD_PMC) && IS_ENABLED(CONFIG_PM_SLEEP)
> +#if IS_ENABLED(CONFIG_AMD_PMC) && IS_ENABLED(CONFIG_SUSPEND)
>   	if (acpi_gbl_FADT.flags & ACPI_FADT_LOW_POWER_S0) {
>   		if (adev->flags & AMD_IS_APU)
>   			return pm_suspend_target_state == PM_SUSPEND_TO_IDLE;
> 


More information about the amd-gfx mailing list