On 7/14/25 3:16 AM, Arnd Bergmann wrote: > From: Arnd Bergmann <a...@arndb.de> > > When power management is not enabled in the kernel build, the newly > added hibernation changes cause a link failure: > > arm-linux-gnueabi-ld: drivers/gpu/drm/amd/amdgpu/amdgpu_drv.o: in function > `amdgpu_pmops_thaw': > amdgpu_drv.c:(.text+0x1514): undefined reference to > `pm_hibernate_is_recovering' > > Make the power management code in this driver conditional on > CONFIG_PM and CONFIG_PM_SLEEP > > Fixes: 530694f54dd5 ("drm/amdgpu: do not resume device in thaw for normal > hibernation") > Signed-off-by: Arnd Bergmann <a...@arndb.de>
We're going to fix it using this stub instead. https://lore.kernel.org/linux-pm/20250712233715.821424-1-supe...@kernel.org/ It's in drm-misc-next as of this weekend and it should show up in linux-next in the next day or two. > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 20 ++++++++++---------- > 1 file changed, 10 insertions(+), 10 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c > index 021defca9b61..66b5b3260fb9 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c > @@ -2963,15 +2963,15 @@ long amdgpu_drm_ioctl(struct file *filp, > } > > static const struct dev_pm_ops amdgpu_pm_ops = { > - .prepare = amdgpu_pmops_prepare, > - .complete = amdgpu_pmops_complete, > - .suspend = amdgpu_pmops_suspend, > - .suspend_noirq = amdgpu_pmops_suspend_noirq, > - .resume = amdgpu_pmops_resume, > - .freeze = amdgpu_pmops_freeze, > - .thaw = amdgpu_pmops_thaw, > - .poweroff = amdgpu_pmops_poweroff, > - .restore = amdgpu_pmops_restore, > + .prepare = pm_sleep_ptr(amdgpu_pmops_prepare), > + .complete = pm_sleep_ptr(amdgpu_pmops_complete), > + .suspend = pm_sleep_ptr(amdgpu_pmops_suspend), > + .suspend_noirq = pm_sleep_ptr(amdgpu_pmops_suspend_noirq), > + .resume = pm_sleep_ptr(amdgpu_pmops_resume), > + .freeze = pm_sleep_ptr(amdgpu_pmops_freeze), > + .thaw = pm_sleep_ptr(amdgpu_pmops_thaw), > + .poweroff = pm_sleep_ptr(amdgpu_pmops_poweroff), > + .restore = pm_sleep_ptr(amdgpu_pmops_restore), > .runtime_suspend = amdgpu_pmops_runtime_suspend, > .runtime_resume = amdgpu_pmops_runtime_resume, > .runtime_idle = amdgpu_pmops_runtime_idle, > @@ -3116,7 +3116,7 @@ static struct pci_driver amdgpu_kms_pci_driver = { > .probe = amdgpu_pci_probe, > .remove = amdgpu_pci_remove, > .shutdown = amdgpu_pci_shutdown, > - .driver.pm = &amdgpu_pm_ops, > + .driver.pm = pm_ptr(&amdgpu_pm_ops), > .err_handler = &amdgpu_pci_err_handler, > .dev_groups = amdgpu_sysfs_groups, > };