Re: [PATCH v2 2/2] drm/xe: Select CONFIG_DEVICE_PRIVATE when DRM_XE_GPUSVM is selected

kernel test robot
2026-01-20T20:59:57Z

Hi Thomas,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-xe/drm-xe-next]
[also build test WARNING on drm/drm-next drm-i915/for-linux-next drm-tip/drm-tip next-20260120]
[cannot apply to drm-misc/drm-misc-next daeinki-drm-exynos/exynos-drm-next drm-i915/for-linux-next-fixes linus/master v6.19-rc6]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Thomas-Hellstr-m/drm-drm-xe-Fix-xe-userptr-in-the-absence-of-CONFIG_DEVICE_PRIVATE/20260120-223858
base: https://gitlab.freedesktop.org/drm/xe/kernel.git drm-xe-next
patch link: https://lore.kernel.org/r/20260120143459.9485-3-thomas.hellstrom%40linux.intel.com
patch subject: [PATCH v2 2/2] drm/xe: Select CONFIG_DEVICE_PRIVATE when DRM_XE_GPUSVM is selected
config: mips-allyesconfig (https://download.01.org/0day-ci/archive/20260121/202601210419.6HhGDdqP-lkp@intel.com/config)
compiler: mips-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260121/202601210419.6HhGDdqP-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202601210419.6HhGDdqP-lkp@intel.com/

All warnings (new ones prefixed by >>):

mm/memremap.c: In function 'memremap_compat_align':
mm/memremap.c:36:16: error: 'SUBSECTION_SIZE' undeclared (first use in this function); did you mean 'SECTOR_SIZE'?
36 | return SUBSECTION_SIZE;
| ^~~~~~~~~~~~~~~
| SECTOR_SIZE
mm/memremap.c:36:16: note: each undeclared identifier is reported only once for each function it appears in
mm/memremap.c: In function 'pageunmap_range':
mm/memremap.c:96:9: error: implicit declaration of function 'remove_pfn_range_from_zone'; did you mean 'remap_pfn_range_complete'? [-Wimplicit-function-declaration]
96 | remove_pfn_range_from_zone(page_zone(first_page), PHYS_PFN(range->start),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
| remap_pfn_range_complete
mm/memremap.c:99:17: error: implicit declaration of function '__remove_pages'; did you mean 'move_pages'? [-Wimplicit-function-declaration]
99 | __remove_pages(PHYS_PFN(range->start),
| ^~~~~~~~~~~~~~
| move_pages
mm/memremap.c:102:17: error: implicit declaration of function 'arch_remove_memory'; did you mean 'remove_memory'? [-Wimplicit-function-declaration]
102 | arch_remove_memory(range->start, range_len(range),
| ^~~~~~~~~~~~~~~~~~
| remove_memory
mm/memremap.c: At top level:
mm/memremap.c:144:60: warning: 'struct mhp_params' declared inside parameter list will not be visible outside of this definition or declaration
144 | static int pagemap_range(struct dev_pagemap *pgmap, struct mhp_params *params,
| ^~~~~~~~~~
mm/memremap.c: In function 'pagemap_range':
mm/memremap.c:189:37: error: invalid use of undefined type 'struct mhp_params'
189 | &params->pgprot);
| ^~
mm/memremap.c:193:14: error: implicit declaration of function 'mhp_range_allowed' [-Wimplicit-function-declaration]
193 | if (!mhp_range_allowed(range->start, range_len(range), !is_private)) {
| ^~~~~~~~~~~~~~~~~
mm/memremap.c:212:25: error: implicit declaration of function 'add_pages'; did you mean 'dir_pages'? [-Wimplicit-function-declaration]
212 | error = add_pages(nid, PHYS_PFN(range->start),
| ^~~~~~~~~
| dir_pages
mm/memremap.c:221:25: error: implicit declaration of function 'arch_add_memory' [-Wimplicit-function-declaration]
221 | error = arch_add_memory(nid, range->start, range_len(range),
| ^~~~~~~~~~~~~~~
mm/memremap.c:229:17: error: implicit declaration of function 'move_pfn_range_to_zone' [-Wimplicit-function-declaration]
229 | move_pfn_range_to_zone(zone, PHYS_PFN(range->start),
| ^~~~~~~~~~~~~~~~~~~~~~
mm/memremap.c:230:67: error: invalid use of undefined type 'struct mhp_params'
230 | PHYS_PFN(range_len(range)), params->altmap,
| ^~
mm/memremap.c: In function 'memremap_pages':
mm/memremap.c:268:16: error: variable 'params' has initializer but incomplete type
268 | struct mhp_params params = {
| ^~~~~~~~~~
mm/memremap.c:269:18: error: 'struct mhp_params' has no member named 'altmap'
269 | .altmap = pgmap_altmap(pgmap),
| ^~~~~~
mm/memremap.c:269:27: warning: excess elements in struct initializer
269 | .altmap = pgmap_altmap(pgmap),
| ^~~~~~~~~~~~
mm/memremap.c:269:27: note: (near initialization for 'params')
mm/memremap.c:270:18: error: 'struct mhp_params' has no member named 'pgmap'
270 | .pgmap = pgmap,
| ^~~~~
mm/memremap.c:270:26: warning: excess elements in struct initializer
270 | .pgmap = pgmap,
| ^~~~~
mm/memremap.c:270:26: note: (near initialization for 'params')
mm/memremap.c:271:18: error: 'struct mhp_params' has no member named 'pgprot'
271 | .pgprot = PAGE_KERNEL,
| ^~~~~~
In file included from include/linux/shm.h:6,
from include/linux/sched.h:23,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from mm/memremap.c:3:
>> arch/mips/include/asm/page.h:137:25: warning: excess elements in struct initializer
137 | #define __pgprot(x) ((pgprot_t) { (x) } )
| ^
arch/mips/include/asm/pgtable.h:30:25: note: in expansion of macro '__pgprot'
30 | #define PAGE_KERNEL __pgprot(_PAGE_PRESENT | __READABLE | __WRITEABLE | \
| ^~~~~~~~
mm/memremap.c:271:27: note: in expansion of macro 'PAGE_KERNEL'
271 | .pgprot = PAGE_KERNEL,
| ^~~~~~~~~~~
arch/mips/include/asm/page.h:137:25: note: (near initialization for 'params')
137 | #define __pgprot(x) ((pgprot_t) { (x) } )
| ^
arch/mips/include/asm/pgtable.h:30:25: note: in expansion of macro '__pgprot'
30 | #define PAGE_KERNEL __pgprot(_PAGE_PRESENT | __READABLE | __WRITEABLE | \
| ^~~~~~~~
mm/memremap.c:271:27: note: in expansion of macro 'PAGE_KERNEL'
271 | .pgprot = PAGE_KERNEL,
| ^~~~~~~~~~~
mm/memremap.c:268:27: error: storage size of 'params' isn't known
268 | struct mhp_params params = {
| ^~~~~~
mm/memremap.c:268:27: warning: unused variable 'params' [-Wunused-variable]

Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for ZONE_DEVICE
Depends on [n]: MEMORY_HOTPLUG [=n] && MEMORY_HOTREMOVE [=n] && SPARSEMEM_VMEMMAP [=n]
Selected by [y]:
- DRM_XE_GPUSVM [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=y] && !UML

vim +137 arch/mips/include/asm/page.h

c6e8b587718c486 include/asm-mips/page.h Ralf Baechle 2005-02-10 131
c6e8b587718c486 include/asm-mips/page.h Ralf Baechle 2005-02-10 132 /*
c6e8b587718c486 include/asm-mips/page.h Ralf Baechle 2005-02-10 133 * Manipulate page protection bits
c6e8b587718c486 include/asm-mips/page.h Ralf Baechle 2005-02-10 134 */
c6e8b587718c486 include/asm-mips/page.h Ralf Baechle 2005-02-10 135 typedef struct { unsigned long pgprot; } pgprot_t;
c6e8b587718c486 include/asm-mips/page.h Ralf Baechle 2005-02-10 136 #define pgprot_val(x) ((x).pgprot)
^1da177e4c3f415 include/asm-mips/page.h Linus Torvalds 2005-04-16 @137 #define __pgprot(x) ((pgprot_t) { (x) } )
b3a428b4b18d495 arch/mips/include/asm/page.h Hassan Naveed 2018-10-29 138 #define pte_pgprot(x) __pgprot(pte_val(x) & ~_PFN_MASK)
^1da177e4c3f415 include/asm-mips/page.h Linus Torvalds 2005-04-16 139

--
0-DAY CI Kernel Test Service