Commit 674dc7f6 authored by Boris Brezillon's avatar Boris Brezillon
Browse files

drm/panthor: Fix undefined panthor_device_suspend/resume symbol issue



panthor_device_resume/suspend() are only compiled when CONFIG_PM is
enabled but panthro_drv.c doesn't use the pm_ptr() macro to conditionally
discard resume/suspend assignments, which causes undefined symbol
errors at link time when !PM.

We could fix that by using pm_ptr(), but supporting the !PM case makes
little sense (the whole point of these embedded GPUs is to be low power,
so proper PM is a basic requirement in that case). So let's just enforce
the presence of CONFIG_PM with a Kconfig dependency instead.

If someone needs to relax this dependency, it can be done in a follow-up.

Reported-by: default avatarkernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202403031944.EOimQ8WK-lkp@intel.com/


Signed-off-by: default avatarBoris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
Reviewed-by: default avatarSteven Price <steven.price@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240304090812.3941084-4-boris.brezillon@collabora.com
parent eb1dc10a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ config DRM_PANTHOR
	depends on ARM || ARM64 || COMPILE_TEST
	depends on !GENERIC_ATOMIC64  # for IOMMU_IO_PGTABLE_LPAE
	depends on MMU
	depends on PM
	select DEVFREQ_GOV_SIMPLE_ONDEMAND
	select DRM_EXEC
	select DRM_GEM_SHMEM_HELPER
+0 −2
Original line number Diff line number Diff line
@@ -402,7 +402,6 @@ int panthor_device_mmap_io(struct panthor_device *ptdev, struct vm_area_struct *
	return 0;
}

#ifdef CONFIG_PM
int panthor_device_resume(struct device *dev)
{
	struct panthor_device *ptdev = dev_get_drvdata(dev);
@@ -547,4 +546,3 @@ int panthor_device_suspend(struct device *dev)
	mutex_unlock(&ptdev->pm.mmio_lock);
	return ret;
}
#endif