[PATCH] drm/tiny: pixpaper: add explicit dependency on MMU

LiangCheng Wang
2025-10-28T02:55:42Z

The DRM_GEM_SHMEM_HELPER helper requires MMU enabled because it uses
vmf_insert_pfn() in its mmap implementation. On NOMMU configurations
(e.g. some RISC-V randconfig builds), this symbol is unavailable and
selecting DRM_GEM_SHMEM_HELPER causes a modpost undefined reference:

ERROR: modpost: "vmf_insert_pfn" [drivers/gpu/drm/drm_shmem_helper.ko] undefined!

Normally, Kconfig prevents this helper from being selected when
CONFIG_MMU=n. However, in some randconfig builds (such as those used by
0day CI), select statements can override unmet dependencies, triggering
the issue.

Add an explicit dependency on MMU to DRM_PIXPAPER to prevent this.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202510280213.0rlYA4T3-lkp@intel.com/
Fixes: 0c4932f6ddf8 ("drm/tiny: pixpaper: Fix missing dependency on DRM_GEM_SHMEM_HELPER")
Signed-off-by: LiangCheng Wang <zaq14760@gmail.com>
---
This patch fixes a build issue reported by the kernel test robot when
building with CONFIG_MMU=n on RISC-V randconfig.

In such configurations, the DRM_GEM_SHMEM_HELPER helper uses
vmf_insert_pfn(), which is unavailable without MMU support. Although
normal Kconfig rules prevent DRM_GEM_SHMEM_HELPER from being selected
in this case, randconfig builds may forcibly enable it via select,
leading to the following modpost error:

ERROR: modpost: "vmf_insert_pfn" [drivers/gpu/drm/drm_shmem_helper.ko] undefined!

The fix is to add an explicit `depends on MMU` to the DRM_PIXPAPER
driver, ensuring it cannot be built for NOMMU systems.

This issue cannot always be reproduced locally because typical builds
do not violate Kconfig dependencies, but it was confirmed that the fix
prevents the reported 0day failure.
---
LiangCheng Wang (1):
drm/tiny: pixpaper: add explicit dependency on MMU

drivers/gpu/drm/tiny/Kconfig

Signed-off-by: LiangCheng Wang <zaq14760@gmail.com>
---
drivers/gpu/drm/tiny/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig
index 7d9e85e932d7fd7bdb6ad7a4c6ba0f835841f623..f0e72d4b6a4709564e63c758e857bdb4a320dbe7 100644
--- a/drivers/gpu/drm/tiny/Kconfig
+++ b/drivers/gpu/drm/tiny/Kconfig
@@ -85,6 +85,7 @@ config DRM_PANEL_MIPI_DBI
config DRM_PIXPAPER
tristate "DRM support for PIXPAPER display panels"
depends on DRM && SPI
+ depends on MMU
select DRM_CLIENT_SELECTION
select DRM_GEM_SHMEM_HELPER
select DRM_KMS_HELPER

---
base-commit: fd57572253bc356330dbe5b233c2e1d8426c66fd
change-id: 20251028-bar-ae0d85b16f13

Best regards,
--
LiangCheng Wang <zaq14760@gmail.com>