tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   86cfccb66937dd6cbf26ed619958b9e587e6a115
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to 
define address spaces
date:   7 weeks ago
config: arm-randconfig-s031-20200807 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.2-118-ge1578773-dirty
        git checkout 670d0a4b10704667765f7d18f7592993d02783aa
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


sparse warnings: (new ones prefixed by >>)

>> drivers/video/fbdev/pxafb.c:916:24: sparse: sparse: incorrect type in 
>> assignment (different address spaces) @@     expected void [noderef] __iomem 
>> *video_mem @@     got void * @@
>> drivers/video/fbdev/pxafb.c:916:24: sparse:     expected void [noderef] 
>> __iomem *video_mem
   drivers/video/fbdev/pxafb.c:916:24: sparse:     got void *
>> drivers/video/fbdev/pxafb.c:921:47: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected void const volatile *x 
>> @@     got void [noderef] __iomem *video_mem @@
   drivers/video/fbdev/pxafb.c:921:47: sparse:     expected void const volatile 
*x
>> drivers/video/fbdev/pxafb.c:921:47: sparse:     got void [noderef] __iomem 
>> *video_mem
>> drivers/video/fbdev/pxafb.c:977:53: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected void *virt @@     got 
>> void [noderef] __iomem *video_mem @@
   drivers/video/fbdev/pxafb.c:977:53: sparse:     expected void *virt
   drivers/video/fbdev/pxafb.c:977:53: sparse:     got void [noderef] __iomem 
*video_mem
   drivers/video/fbdev/pxafb.c:1714:24: sparse: sparse: incorrect type in 
assignment (different address spaces) @@     expected void [noderef] __iomem 
*video_mem @@     got void * @@
   drivers/video/fbdev/pxafb.c:1714:24: sparse:     expected void [noderef] 
__iomem *video_mem
   drivers/video/fbdev/pxafb.c:1714:24: sparse:     got void *
   drivers/video/fbdev/pxafb.c:1718:47: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected void const volatile *x @@ 
    got void [noderef] __iomem *video_mem @@
   drivers/video/fbdev/pxafb.c:1718:47: sparse:     expected void const 
volatile *x
   drivers/video/fbdev/pxafb.c:1718:47: sparse:     got void [noderef] __iomem 
*video_mem
   drivers/video/fbdev/pxafb.c:2392:29: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected void *virt @@     got 
void [noderef] __iomem *video_mem @@
   drivers/video/fbdev/pxafb.c:2392:29: sparse:     expected void *virt
   drivers/video/fbdev/pxafb.c:2392:29: sparse:     got void [noderef] __iomem 
*video_mem
   drivers/video/fbdev/pxafb.c:2418:29: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected void *virt @@     got 
void [noderef] __iomem *video_mem @@
   drivers/video/fbdev/pxafb.c:2418:29: sparse:     expected void *virt
   drivers/video/fbdev/pxafb.c:2418:29: sparse:     got void [noderef] __iomem 
*video_mem
--
>> drivers/firmware/efi/test/efi_test.c:157:13: sparse: sparse: incorrect type 
>> in initializer (different address spaces) @@     expected unsigned long 
>> [noderef] __user *register __p @@     got unsigned long *[addressable] 
>> data_size @@
>> drivers/firmware/efi/test/efi_test.c:157:13: sparse:     expected unsigned 
>> long [noderef] __user *register __p
   drivers/firmware/efi/test/efi_test.c:157:13: sparse:     got unsigned long 
*[addressable] data_size
   drivers/firmware/efi/test/efi_test.c:160:61: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void const [noderef] 
__user *from @@     got struct guid_t [usertype] *[addressable] vendor_guid @@
   drivers/firmware/efi/test/efi_test.c:160:61: sparse:     expected void const 
[noderef] __user *from
   drivers/firmware/efi/test/efi_test.c:160:61: sparse:     got struct guid_t 
[usertype] *[addressable] vendor_guid
   drivers/firmware/efi/test/efi_test.c:167:60: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected unsigned short 
[noderef] [usertype] __user *src @@     got unsigned short [usertype] 
*[addressable] variable_name @@
   drivers/firmware/efi/test/efi_test.c:167:60: sparse:     expected unsigned 
short [noderef] [usertype] __user *src
   drivers/firmware/efi/test/efi_test.c:167:60: sparse:     got unsigned short 
[usertype] *[addressable] variable_name
>> drivers/firmware/efi/test/efi_test.c:187:13: sparse: sparse: incorrect type 
>> in initializer (different address spaces) @@     expected unsigned long 
>> const [noderef] __user *__pu_ptr @@     got unsigned long [usertype] 
>> *[addressable] status @@
>> drivers/firmware/efi/test/efi_test.c:187:13: sparse:     expected unsigned 
>> long const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:187:13: sparse:     got unsigned long 
[usertype] *[addressable] status
>> drivers/firmware/efi/test/efi_test.c:194:35: sparse: sparse: incorrect type 
>> in initializer (different address spaces) @@     expected unsigned long 
>> const [noderef] __user *__pu_ptr @@     got unsigned long *[addressable] 
>> data_size @@
   drivers/firmware/efi/test/efi_test.c:194:35: sparse:     expected unsigned 
long const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:194:35: sparse:     got unsigned long 
*[addressable] data_size
   drivers/firmware/efi/test/efi_test.c:209:45: sparse: sparse: incorrect type 
in argument 1 (different address spaces) @@     expected void [noderef] __user 
*to @@     got void *[addressable] data @@
   drivers/firmware/efi/test/efi_test.c:209:45: sparse:     expected void 
[noderef] __user *to
   drivers/firmware/efi/test/efi_test.c:209:45: sparse:     got void 
*[addressable] data
>> drivers/firmware/efi/test/efi_test.c:215:19: sparse: sparse: incorrect type 
>> in initializer (different address spaces) @@     expected unsigned int const 
>> [noderef] __user *__pu_ptr @@     got unsigned int [usertype] *[addressable] 
>> attributes @@
>> drivers/firmware/efi/test/efi_test.c:215:19: sparse:     expected unsigned 
>> int const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:215:19: sparse:     got unsigned int 
[usertype] *[addressable] attributes
   drivers/firmware/efi/test/efi_test.c:220:19: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned long const 
[noderef] __user *__pu_ptr @@     got unsigned long *[addressable] data_size @@
   drivers/firmware/efi/test/efi_test.c:220:19: sparse:     expected unsigned 
long const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:220:19: sparse:     got unsigned long 
*[addressable] data_size
   drivers/firmware/efi/test/efi_test.c:243:53: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void const [noderef] 
__user *from @@     got struct guid_t [usertype] *[addressable] vendor_guid @@
   drivers/firmware/efi/test/efi_test.c:243:53: sparse:     expected void const 
[noderef] __user *from
   drivers/firmware/efi/test/efi_test.c:243:53: sparse:     got struct guid_t 
[usertype] *[addressable] vendor_guid
   drivers/firmware/efi/test/efi_test.c:248:60: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected unsigned short 
[noderef] [usertype] __user *src @@     got unsigned short [usertype] 
*[addressable] variable_name @@
   drivers/firmware/efi/test/efi_test.c:248:60: sparse:     expected unsigned 
short [noderef] [usertype] __user *src
   drivers/firmware/efi/test/efi_test.c:248:60: sparse:     got unsigned short 
[usertype] *[addressable] variable_name
   drivers/firmware/efi/test/efi_test.c:253:39: sparse: sparse: incorrect type 
in argument 1 (different address spaces) @@     expected void const [noderef] 
__user * @@     got void *[addressable] data @@
   drivers/firmware/efi/test/efi_test.c:253:39: sparse:     expected void const 
[noderef] __user *
   drivers/firmware/efi/test/efi_test.c:253:39: sparse:     got void 
*[addressable] data
   drivers/firmware/efi/test/efi_test.c:263:13: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned long const 
[noderef] __user *__pu_ptr @@     got unsigned long [usertype] *[addressable] 
status @@
   drivers/firmware/efi/test/efi_test.c:263:13: sparse:     expected unsigned 
long const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:263:13: sparse:     got unsigned long 
[usertype] *[addressable] status
   drivers/firmware/efi/test/efi_test.c:292:13: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned long const 
[noderef] __user *__pu_ptr @@     got unsigned long [usertype] *[addressable] 
status @@
   drivers/firmware/efi/test/efi_test.c:292:13: sparse:     expected unsigned 
long const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:292:13: sparse:     got unsigned long 
[usertype] *[addressable] status
   drivers/firmware/efi/test/efi_test.c:301:27: sparse: sparse: incorrect type 
in assignment (different address spaces) @@     expected struct efi_time_cap_t 
[noderef] [usertype] __user *cap_local @@     got struct efi_time_cap_t 
[usertype] * @@
   drivers/firmware/efi/test/efi_test.c:301:27: sparse:     expected struct 
efi_time_cap_t [noderef] [usertype] __user *cap_local
   drivers/firmware/efi/test/efi_test.c:301:27: sparse:     got struct 
efi_time_cap_t [usertype] *
   drivers/firmware/efi/test/efi_test.c:308:41: sparse: sparse: incorrect type 
in argument 1 (different address spaces) @@     expected void [noderef] __user 
*to @@     got struct efi_time_t [usertype] *[addressable] time @@
   drivers/firmware/efi/test/efi_test.c:308:41: sparse:     expected void 
[noderef] __user *to
   drivers/firmware/efi/test/efi_test.c:308:41: sparse:     got struct 
efi_time_t [usertype] *[addressable] time
   drivers/firmware/efi/test/efi_test.c:325:46: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void const [noderef] 
__user *from @@     got struct efi_time_t [usertype] *[addressable] time @@
   drivers/firmware/efi/test/efi_test.c:325:46: sparse:     expected void const 
[noderef] __user *from
   drivers/firmware/efi/test/efi_test.c:325:46: sparse:     got struct 
efi_time_t [usertype] *[addressable] time
   drivers/firmware/efi/test/efi_test.c:330:13: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned long const 
[noderef] __user *__pu_ptr @@     got unsigned long [usertype] *[addressable] 
status @@
   drivers/firmware/efi/test/efi_test.c:330:13: sparse:     expected unsigned 
long const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:330:13: sparse:     got unsigned long 
[usertype] *[addressable] status
   drivers/firmware/efi/test/efi_test.c:354:13: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned long const 
[noderef] __user *__pu_ptr @@     got unsigned long [usertype] *[addressable] 
status @@
   drivers/firmware/efi/test/efi_test.c:354:13: sparse:     expected unsigned 
long const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:354:13: sparse:     got unsigned long 
[usertype] *[addressable] status
>> drivers/firmware/efi/test/efi_test.c:360:38: sparse: sparse: incorrect type 
>> in initializer (different address spaces) @@     expected unsigned char 
>> const [noderef] __user *__pu_ptr @@     got unsigned char [usertype] 
>> *[addressable] enabled @@
>> drivers/firmware/efi/test/efi_test.c:360:38: sparse:     expected unsigned 
>> char const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:360:38: sparse:     got unsigned char 
[usertype] *[addressable] enabled
   drivers/firmware/efi/test/efi_test.c:365:47: sparse: sparse: incorrect type 
in argument 1 (different address spaces) @@     expected void [noderef] __user 
*to @@     got struct efi_time_t [usertype] *[addressable] time @@
   drivers/firmware/efi/test/efi_test.c:365:47: sparse:     expected void 
[noderef] __user *to
   drivers/firmware/efi/test/efi_test.c:365:47: sparse:     got struct 
efi_time_t [usertype] *[addressable] time
   drivers/firmware/efi/test/efi_test.c:389:60: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void const [noderef] 
__user *from @@     got struct efi_time_t [usertype] *[addressable] time @@
   drivers/firmware/efi/test/efi_test.c:389:60: sparse:     expected void const 
[noderef] __user *from
   drivers/firmware/efi/test/efi_test.c:389:60: sparse:     got struct 
efi_time_t [usertype] *[addressable] time
   drivers/firmware/efi/test/efi_test.c:397:13: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned long const 
[noderef] __user *__pu_ptr @@     got unsigned long [usertype] *[addressable] 
status @@
   drivers/firmware/efi/test/efi_test.c:397:13: sparse:     expected unsigned 
long const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:397:13: sparse:     got unsigned long 
[usertype] *[addressable] status
>> drivers/firmware/efi/test/efi_test.c:421:21: sparse: sparse: incorrect type 
>> in initializer (different address spaces) @@     expected unsigned long 
>> [noderef] __user *register __p @@     got unsigned long *[addressable] 
>> variable_name_size @@
   drivers/firmware/efi/test/efi_test.c:421:21: sparse:     expected unsigned 
long [noderef] __user *register __p
   drivers/firmware/efi/test/efi_test.c:421:21: sparse:     got unsigned long 
*[addressable] variable_name_size
   drivers/firmware/efi/test/efi_test.c:429:52: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void const [noderef] 
__user *from @@     got struct guid_t [usertype] *[addressable] vendor_guid @@
   drivers/firmware/efi/test/efi_test.c:429:52: sparse:     expected void const 
[noderef] __user *from
   drivers/firmware/efi/test/efi_test.c:429:52: sparse:     got struct guid_t 
[usertype] *[addressable] vendor_guid
   drivers/firmware/efi/test/efi_test.c:439:52: sparse: sparse: incorrect type 
in argument 1 (different address spaces) @@     expected unsigned short 
[noderef] [usertype] __user *src @@     got unsigned short [usertype] 
*[addressable] variable_name @@
   drivers/firmware/efi/test/efi_test.c:439:52: sparse:     expected unsigned 
short [noderef] [usertype] __user *src
   drivers/firmware/efi/test/efi_test.c:439:52: sparse:     got unsigned short 
[usertype] *[addressable] variable_name
   drivers/firmware/efi/test/efi_test.c:452:52: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected unsigned short 
[noderef] [usertype] __user *src @@     got unsigned short [usertype] 
*[addressable] variable_name @@
   drivers/firmware/efi/test/efi_test.c:452:52: sparse:     expected unsigned 
short [noderef] [usertype] __user *src
   drivers/firmware/efi/test/efi_test.c:452:52: sparse:     got unsigned short 
[usertype] *[addressable] variable_name
   drivers/firmware/efi/test/efi_test.c:461:13: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned long const 
[noderef] __user *__pu_ptr @@     got unsigned long [usertype] *[addressable] 
status @@
   drivers/firmware/efi/test/efi_test.c:461:13: sparse:     expected unsigned 
long const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:461:13: sparse:     got unsigned long 
[usertype] *[addressable] status
>> drivers/firmware/efi/test/efi_test.c:468:35: sparse: sparse: incorrect type 
>> in initializer (different address spaces) @@     expected unsigned long 
>> const [noderef] __user *__pu_ptr @@     got unsigned long *[addressable] 
>> variable_name_size @@
   drivers/firmware/efi/test/efi_test.c:468:35: sparse:     expected unsigned 
long const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:468:35: sparse:     got unsigned long 
*[addressable] variable_name_size
   drivers/firmware/efi/test/efi_test.c:479:62: sparse: sparse: incorrect type 
in argument 1 (different address spaces) @@     expected unsigned short 
[noderef] [usertype] __user *dst @@     got unsigned short [usertype] 
*[addressable] variable_name @@
   drivers/firmware/efi/test/efi_test.c:479:62: sparse:     expected unsigned 
short [noderef] [usertype] __user *dst
   drivers/firmware/efi/test/efi_test.c:479:62: sparse:     got unsigned short 
[usertype] *[addressable] variable_name
   drivers/firmware/efi/test/efi_test.c:487:21: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned long const 
[noderef] __user *__pu_ptr @@     got unsigned long *[addressable] 
variable_name_size @@
   drivers/firmware/efi/test/efi_test.c:487:21: sparse:     expected unsigned 
long const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:487:21: sparse:     got unsigned long 
*[addressable] variable_name_size
   drivers/firmware/efi/test/efi_test.c:494:53: sparse: sparse: incorrect type 
in argument 1 (different address spaces) @@     expected void [noderef] __user 
*to @@     got struct guid_t [usertype] *[addressable] vendor_guid @@
   drivers/firmware/efi/test/efi_test.c:494:53: sparse:     expected void 
[noderef] __user *to
   drivers/firmware/efi/test/efi_test.c:494:53: sparse:     got struct guid_t 
[usertype] *[addressable] vendor_guid
   drivers/firmware/efi/test/efi_test.c:522:13: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned long const 
[noderef] __user *__pu_ptr @@     got unsigned long [usertype] *[addressable] 
status @@
   drivers/firmware/efi/test/efi_test.c:522:13: sparse:     expected unsigned 
long const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:522:13: sparse:     got unsigned long 
[usertype] *[addressable] status
>> drivers/firmware/efi/test/efi_test.c:529:13: sparse: sparse: incorrect type 
>> in initializer (different address spaces) @@     expected unsigned int const 
>> [noderef] __user *__pu_ptr @@     got unsigned int [usertype] *[addressable] 
>> high_count @@
   drivers/firmware/efi/test/efi_test.c:529:13: sparse:     expected unsigned 
int const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:529:13: sparse:     got unsigned int 
[usertype] *[addressable] high_count
   drivers/firmware/efi/test/efi_test.c:546:37: sparse: sparse: incorrect type 
in argument 1 (different address spaces) @@     expected void const [noderef] 
__user * @@     got void * @@
   drivers/firmware/efi/test/efi_test.c:546:37: sparse:     expected void const 
[noderef] __user *
   drivers/firmware/efi/test/efi_test.c:546:37: sparse:     got void *
   drivers/firmware/efi/test/efi_test.c:575:13: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned long const 
[noderef] __user *__pu_ptr @@     got unsigned long [usertype] *[addressable] 
status @@
   drivers/firmware/efi/test/efi_test.c:575:13: sparse:     expected unsigned 
long const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:575:13: sparse:     got unsigned long 
[usertype] *[addressable] status
>> drivers/firmware/efi/test/efi_test.c:581:13: sparse: sparse: incorrect type 
>> in initializer (different address spaces) @@     expected unsigned long long 
>> const [noderef] __user *__pu_ptr @@     got unsigned long long [usertype] 
>> *[addressable] maximum_variable_storage_size @@
>> drivers/firmware/efi/test/efi_test.c:581:13: sparse:     expected unsigned 
>> long long const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:581:13: sparse:     got unsigned long 
long [usertype] *[addressable] maximum_variable_storage_size
   drivers/firmware/efi/test/efi_test.c:585:13: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned long long 
const [noderef] __user *__pu_ptr @@     got unsigned long long [usertype] 
*[addressable] remaining_variable_storage_size @@
   drivers/firmware/efi/test/efi_test.c:585:13: sparse:     expected unsigned 
long long const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:585:13: sparse:     got unsigned long 
long [usertype] *[addressable] remaining_variable_storage_size
   drivers/firmware/efi/test/efi_test.c:589:13: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned long long 
const [noderef] __user *__pu_ptr @@     got unsigned long long [usertype] 
*[addressable] maximum_variable_size @@
   drivers/firmware/efi/test/efi_test.c:589:13: sparse:     expected unsigned 
long long const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:589:13: sparse:     got unsigned long 
long [usertype] *[addressable] maximum_variable_size
>> drivers/firmware/efi/test/efi_test.c:625:21: sparse: sparse: incorrect type 
>> in initializer (different address spaces) @@     expected struct 
>> efi_capsule_header_t [usertype] *[noderef] __user *register __p @@     got 
>> struct efi_capsule_header_t [usertype] ** @@
>> drivers/firmware/efi/test/efi_test.c:625:21: sparse:     expected struct 
>> efi_capsule_header_t [usertype] *[noderef] __user *register __p
   drivers/firmware/efi/test/efi_test.c:625:21: sparse:     got struct 
efi_capsule_header_t [usertype] **
   drivers/firmware/efi/test/efi_test.c:629:50: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void const [noderef] 
__user *from @@     got struct efi_capsule_header_t [usertype] *[assigned] c @@
   drivers/firmware/efi/test/efi_test.c:629:50: sparse:     expected void const 
[noderef] __user *from
   drivers/firmware/efi/test/efi_test.c:629:50: sparse:     got struct 
efi_capsule_header_t [usertype] *[assigned] c
   drivers/firmware/efi/test/efi_test.c:643:13: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned long const 
[noderef] __user *__pu_ptr @@     got unsigned long [usertype] *[addressable] 
[assigned] status @@
   drivers/firmware/efi/test/efi_test.c:643:13: sparse:     expected unsigned 
long const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:643:13: sparse:     got unsigned long 
[usertype] *[addressable] [assigned] status
   drivers/firmware/efi/test/efi_test.c:653:13: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned long long 
const [noderef] __user *__pu_ptr @@     got unsigned long long [usertype] 
*[addressable] [assigned] maximum_capsule_size @@
   drivers/firmware/efi/test/efi_test.c:653:13: sparse:     expected unsigned 
long long const [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:653:13: sparse:     got unsigned long 
long [usertype] *[addressable] [assigned] maximum_capsule_size
>> drivers/firmware/efi/test/efi_test.c:658:13: sparse: sparse: incorrect type 
>> in initializer (different address spaces) @@     expected int const 
>> [noderef] __user *__pu_ptr @@     got int *[addressable] [assigned] 
>> reset_type @@
>> drivers/firmware/efi/test/efi_test.c:658:13: sparse:     expected int const 
>> [noderef] __user *__pu_ptr
   drivers/firmware/efi/test/efi_test.c:658:13: sparse:     got int 
*[addressable] [assigned] reset_type
   drivers/firmware/efi/test/efi_test.c:35:27: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned short 
[usertype] *s @@     got unsigned short [noderef] [usertype] __user *str @@
   drivers/firmware/efi/test/efi_test.c:35:27: sparse:     expected unsigned 
short [usertype] *s
   drivers/firmware/efi/test/efi_test.c:35:27: sparse:     got unsigned short 
[noderef] [usertype] __user *str
>> drivers/firmware/efi/test/efi_test.c:44:13: sparse: sparse: incorrect type 
>> in initializer (different address spaces) @@     expected unsigned short 
>> [noderef] __user *register __p @@     got unsigned short [usertype] * @@
>> drivers/firmware/efi/test/efi_test.c:44:13: sparse:     expected unsigned 
>> short [noderef] __user *register __p
   drivers/firmware/efi/test/efi_test.c:44:13: sparse:     got unsigned short 
[usertype] *
   drivers/firmware/efi/test/efi_test.c:50:21: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned short 
[noderef] __user *register __p @@     got unsigned short [usertype] * @@
   drivers/firmware/efi/test/efi_test.c:50:21: sparse:     expected unsigned 
short [noderef] __user *register __p
   drivers/firmware/efi/test/efi_test.c:50:21: sparse:     got unsigned short 
[usertype] *
   drivers/firmware/efi/test/efi_test.c:35:27: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned short 
[usertype] *[assigned] s @@     got unsigned short [noderef] [usertype] __user 
*str @@
   drivers/firmware/efi/test/efi_test.c:35:27: sparse:     expected unsigned 
short [usertype] *[assigned] s
   drivers/firmware/efi/test/efi_test.c:35:27: sparse:     got unsigned short 
[noderef] [usertype] __user *str
>> drivers/firmware/efi/test/efi_test.c:44:13: sparse: sparse: incorrect type 
>> in initializer (different address spaces) @@     expected unsigned short 
>> [noderef] __user *register __p @@     got unsigned short [usertype] * @@
>> drivers/firmware/efi/test/efi_test.c:44:13: sparse:     expected unsigned 
>> short [noderef] __user *register __p
   drivers/firmware/efi/test/efi_test.c:44:13: sparse:     got unsigned short 
[usertype] *
   drivers/firmware/efi/test/efi_test.c:50:21: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned short 
[noderef] __user *register __p @@     got unsigned short [usertype] * @@
   drivers/firmware/efi/test/efi_test.c:50:21: sparse:     expected unsigned 
short [noderef] __user *register __p
   drivers/firmware/efi/test/efi_test.c:50:21: sparse:     got unsigned short 
[usertype] *
   drivers/firmware/efi/test/efi_test.c:35:27: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned short 
[usertype] *[assigned] s @@     got unsigned short [noderef] [usertype] __user 
*str @@
   drivers/firmware/efi/test/efi_test.c:35:27: sparse:     expected unsigned 
short [usertype] *[assigned] s
   drivers/firmware/efi/test/efi_test.c:35:27: sparse:     got unsigned short 
[noderef] [usertype] __user *str
>> drivers/firmware/efi/test/efi_test.c:44:13: sparse: sparse: incorrect type 
>> in initializer (different address spaces) @@     expected unsigned short 
>> [noderef] __user *register __p @@     got unsigned short [usertype] * @@
>> drivers/firmware/efi/test/efi_test.c:44:13: sparse:     expected unsigned 
>> short [noderef] __user *register __p
   drivers/firmware/efi/test/efi_test.c:44:13: sparse:     got unsigned short 
[usertype] *
   drivers/firmware/efi/test/efi_test.c:50:21: sparse: sparse: incorrect type 
in initializer (different address spaces) @@     expected unsigned short 
[noderef] __user *register __p @@     got unsigned short [usertype] * @@
   drivers/firmware/efi/test/efi_test.c:50:21: sparse:     expected unsigned 
short [noderef] __user *register __p
   drivers/firmware/efi/test/efi_test.c:50:21: sparse:     got unsigned short 
[usertype] *

vim +916 drivers/video/fbdev/pxafb.c

782385ae176b304 drivers/video/pxafb.c Eric Miao          2009-03-19  909  
48c68c4f1b54244 drivers/video/pxafb.c Greg Kroah-Hartman 2012-12-21  910  
static int pxafb_overlay_map_video_memory(struct pxafb_info *pxafb,
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  911        
                                  struct pxafb_layer *ofb)
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  912  {
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  913        
/* We assume that user will use at most video_mem_size for overlay fb,
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  914        
 * anyway, it's useless to use 16bpp main plane and 24bpp overlay
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  915        
 */
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11 @916        
ofb->video_mem = alloc_pages_exact(PAGE_ALIGN(pxafb->video_mem_size),
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  917        
        GFP_KERNEL | __GFP_ZERO);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  918        
if (ofb->video_mem == NULL)
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  919        
        return -ENOMEM;
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  920  
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11 @921        
ofb->video_mem_phys = virt_to_phys(ofb->video_mem);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  922        
ofb->video_mem_size = PAGE_ALIGN(pxafb->video_mem_size);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  923  
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  924        
mutex_lock(&ofb->fb.mm_lock);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  925        
ofb->fb.fix.smem_start  = ofb->video_mem_phys;
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  926        
ofb->fb.fix.smem_len    = pxafb->video_mem_size;
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  927        
mutex_unlock(&ofb->fb.mm_lock);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  928  
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  929        
ofb->fb.screen_base     = ofb->video_mem;
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  930  
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  931        
return 0;
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  932  }
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  933  
48c68c4f1b54244 drivers/video/pxafb.c Greg Kroah-Hartman 2012-12-21  934  
static void pxafb_overlay_init(struct pxafb_info *fbi)
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  935  {
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  936        
int i, ret;
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  937  
782385ae176b304 drivers/video/pxafb.c Eric Miao          2009-03-19  938        
if (!pxafb_overlay_supported())
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  939        
        return;
782385ae176b304 drivers/video/pxafb.c Eric Miao          2009-03-19  940  
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  941        
for (i = 0; i < 2; i++) {
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  942        
        struct pxafb_layer *ofb = &fbi->overlay[i];
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  943        
        init_pxafb_overlay(fbi, ofb, i);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  944        
        ret = register_framebuffer(&ofb->fb);
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  945        
        if (ret) {
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  946        
                dev_err(fbi->dev, "failed to register overlay %d\n", i);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  947        
                continue;
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  948        
        }
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  949        
        ret = pxafb_overlay_map_video_memory(fbi, ofb);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  950        
        if (ret) {
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  951        
                dev_err(fbi->dev,
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  952        
                        "failed to map video memory for overlay %d\n",
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  953        
                        i);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  954        
                unregister_framebuffer(&ofb->fb);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  955        
                continue;
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  956        
        }
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  957        
        ofb->registered = 1;
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  958        
}
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  959  
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  960        
/* mask all IU/BS/EOF/SOF interrupts */
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  961        
lcd_writel(fbi, LCCR5, ~0);
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  962  
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  963        
pr_info("PXA Overlay driver loaded successfully!\n");
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  964  }
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  965  
48c68c4f1b54244 drivers/video/pxafb.c Greg Kroah-Hartman 2012-12-21  966  
static void pxafb_overlay_exit(struct pxafb_info *fbi)
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  967  {
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  968        
int i;
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  969  
782385ae176b304 drivers/video/pxafb.c Eric Miao          2009-03-19  970        
if (!pxafb_overlay_supported())
782385ae176b304 drivers/video/pxafb.c Eric Miao          2009-03-19  971        
        return;
782385ae176b304 drivers/video/pxafb.c Eric Miao          2009-03-19  972  
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  973        
for (i = 0; i < 2; i++) {
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  974        
        struct pxafb_layer *ofb = &fbi->overlay[i];
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  975        
        if (ofb->registered) {
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  976        
                if (ofb->video_mem)
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11 @977        
                        free_pages_exact(ofb->video_mem,
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  978        
                                ofb->video_mem_size);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  979        
                unregister_framebuffer(&ofb->fb);
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  980        
        }
1b98d7c4491e5ea drivers/video/pxafb.c Vasily Khoruzhick  2011-03-11  981        
}
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  982  }
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  983  #else
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  984  
static inline void pxafb_overlay_init(struct pxafb_info *fbi) {}
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  985  
static inline void pxafb_overlay_exit(struct pxafb_info *fbi) {}
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  986  
#endif /* CONFIG_FB_PXA_OVERLAY */
198fc108ee4c2cd drivers/video/pxafb.c Eric Miao          2008-12-23  987  

:::::: The code at line 916 was first introduced by commit
:::::: 1b98d7c4491e5eaba7c403ec1bc5997e6596e569 ARM: pxafb: rework pxafb 
overlay memory management

:::::: TO: Vasily Khoruzhick <[email protected]>
:::::: CC: Eric Miao <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

Reply via email to