drm/panthor: Fix undefined panthor_device_suspend/resume symbol issue
authorBoris Brezillon <boris.brezillon@collabora.com>
Mon, 4 Mar 2024 09:08:12 +0000 (10:08 +0100)
committerBoris Brezillon <boris.brezillon@collabora.com>
Mon, 11 Mar 2024 09:50:37 +0000 (10:50 +0100)
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: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202403031944.EOimQ8WK-lkp@intel.com/
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240304090812.3941084-4-boris.brezillon@collabora.com
drivers/gpu/drm/panthor/Kconfig
drivers/gpu/drm/panthor/panthor_device.c

index 55b40ad07f3b0779e0c434469ddc874ff74fde27..fdce7c1b2310ffdaa6316bd0e44adb9fd97b8420 100644 (file)
@@ -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
index 69deb8e177782e8ceeb7e185444c11c72a07853d..083888b48591c86026d249564e8c708604049e7b 100644 (file)
@@ -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 @@ err_set_active:
        mutex_unlock(&ptdev->pm.mmio_lock);
        return ret;
 }
-#endif