[tobetter:odroid-5.15.y 21/74] drivers/char/exynos-gpiomem.c:121:22: error: incompatible types when assigning to type 'pgprot_t' {aka 'struct <anonymous>'} from type 'int'

From: kernel test robot
Date: Wed Nov 03 2021 - 05:11:28 EST


tree: https://github.com/tobetter/linux odroid-5.15.y
head: bcf324ec70af843cc1e6a88e67a8b7f44c4739bb
commit: 61f45d975621becb00c0aef303769f10428b9cd8 [21/74] ODROID-XU4: char: exynos: add /dev/gpiomem device for rootless user GPIO access
config: um-x86_64_defconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/tobetter/linux/commit/61f45d975621becb00c0aef303769f10428b9cd8
git remote add tobetter https://github.com/tobetter/linux
git fetch --no-tags tobetter odroid-5.15.y
git checkout 61f45d975621becb00c0aef303769f10428b9cd8
# save the attached .config to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=um SUBARCH=x86_64 SHELL=/bin/bash drivers/char/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

drivers/char/exynos-gpiomem.c: In function 'exynos_gpiomem_mmap':
drivers/char/exynos-gpiomem.c:121:22: error: implicit declaration of function 'phys_mem_access_prot'; did you mean 'phys_mem_access_prot_allowed'? [-Werror=implicit-function-declaration]
121 | vma->vm_page_prot = phys_mem_access_prot(file, vma->vm_pgoff,
| ^~~~~~~~~~~~~~~~~~~~
| phys_mem_access_prot_allowed
>> drivers/char/exynos-gpiomem.c:121:22: error: incompatible types when assigning to type 'pgprot_t' {aka 'struct <anonymous>'} from type 'int'
cc1: some warnings being treated as errors


vim +121 drivers/char/exynos-gpiomem.c

106
107 static int exynos_gpiomem_mmap(struct file *file, struct vm_area_struct *vma)
108 {
109 int gpio_area = 0;
110
111 while (gpio_area < inst->gpio_area_count) {
112 if ((inst->gpio_regs_phys[gpio_area] >> PAGE_SHIFT) == vma->vm_pgoff)
113 goto found;
114
115 gpio_area++;
116 }
117
118 return -EACCES;
119
120 found:
> 121 vma->vm_page_prot = phys_mem_access_prot(file, vma->vm_pgoff,
122 PAGE_SIZE,
123 vma->vm_page_prot);
124
125 vma->vm_ops = &exynos_gpiomem_vm_ops;
126
127 if (remap_pfn_range(vma, vma->vm_start,
128 vma->vm_pgoff,
129 PAGE_SIZE,
130 vma->vm_page_prot)) {
131 return -EAGAIN;
132 }
133
134 return 0;
135 }
136

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip