tree:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: e9919e11e219eaa5e8041b7b1a196839143e9125
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address
spaces
date: 4 weeks ago
config: arm-randconfig-s031-20200715 (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-49-g707c5017-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 <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
> drivers/mtd/maps/pxa2xx-flash.c:71:26: sparse: sparse: incorrect
type in assignment (different address spaces) @@ expected void *cached @@ got void
[noderef] __iomem * @@
drivers/mtd/maps/pxa2xx-flash.c:71:26: sparse:
expected void *cached
> drivers/mtd/maps/pxa2xx-flash.c:71:26: sparse: got void
[noderef] __iomem *
> drivers/mtd/maps/pxa2xx-flash.c:87:26: sparse: sparse: cast removes address space
'__iomem' of expression
> drivers/mtd/maps/pxa2xx-flash.c:87:26: sparse: sparse: incorrect type in argument 1
(different address spaces) @@ expected void volatile [noderef] __iomem *iomem_cookie
@@ got void * @@
> drivers/mtd/maps/pxa2xx-flash.c:87:26: sparse: expected void volatile [noderef]
__iomem *iomem_cookie
drivers/mtd/maps/pxa2xx-flash.c:87:26: sparse: got void
*
> drivers/mtd/maps/pxa2xx-flash.c:89:42: sparse: sparse: incorrect
type in argument 1 (different address spaces) @@ expected void volatile [noderef]
__iomem *iomem_cookie @@ got void *cached @@
drivers/mtd/maps/pxa2xx-flash.c:89:42: sparse: expected void volatile [noderef]
__iomem *iomem_cookie
drivers/mtd/maps/pxa2xx-flash.c:89:42: sparse: got void *cached
drivers/mtd/maps/pxa2xx-flash.c:110:34: sparse: sparse: incorrect type in argument 1
(different address spaces) @@ expected void volatile [noderef] __iomem *iomem_cookie
@@ got void *cached @@
drivers/mtd/maps/pxa2xx-flash.c:110:34: sparse: expected void volatile [noderef]
__iomem *iomem_cookie
drivers/mtd/maps/pxa2xx-flash.c:110:34: sparse: got void *cached
--
drivers/net/ethernet/ethoc.c:313:13: sparse: sparse: incorrect type in assignment
(different address spaces) @@ expected void *vma @@ got void [noderef] __iomem
*membase @@
drivers/net/ethernet/ethoc.c:313:13: sparse: expected void *vma
drivers/net/ethernet/ethoc.c:313:13: sparse: got void [noderef] __iomem *membase
> drivers/net/ethernet/ethoc.c:450:33: sparse: sparse: incorrect
type in argument 2 (different address spaces) @@ expected void const volatile
[noderef] __iomem *from @@ got void *src @@
> drivers/net/ethernet/ethoc.c:450:33: sparse: expected void const volatile
[noderef] __iomem *from
drivers/net/ethernet/ethoc.c:450:33: sparse: got void
*src
> drivers/net/ethernet/ethoc.c:908:9: sparse: sparse: incorrect
type in argument 1 (different address spaces) @@ expected void volatile [noderef]
__iomem *to @@ got void *[assigned] dest @@
> drivers/net/ethernet/ethoc.c:908:9: sparse: expected void volatile [noderef]
__iomem *to
drivers/net/ethernet/ethoc.c:908:9: sparse: got void *[assigned]
dest
drivers/net/ethernet/ethoc.c:1108:31: sparse: sparse: incorrect type in assignment
(different address spaces) @@ expected void [noderef] __iomem *membase @@ got void
* @@
drivers/net/ethernet/ethoc.c:1108:31: sparse: expected void [noderef] __iomem
*membase
drivers/net/ethernet/ethoc.c:1108:31: sparse: got void *
--
> 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]
*
--
> drivers/video/fbdev/pxa3xx-gcu.c:412:43: sparse: sparse:
incorrect type in argument 2 (different address spaces) @@ expected void const
[noderef] __user *from @@ got char const *buff @@
> drivers/video/fbdev/pxa3xx-gcu.c:412:43: sparse: expected void const [noderef]
__user *from
drivers/video/fbdev/pxa3xx-gcu.c:412:43: sparse: got char const
*buff
drivers/video/fbdev/pxa3xx-gcu.c:572:33: sparse: sparse: incorrect type in initializer
(incompatible argument 2 (different address spaces)) @@ expected int ( *write )( ... )
@@ got int ( * )( ... ) @@
drivers/video/fbdev/pxa3xx-gcu.c:572:33: sparse: expected int ( *write )( ... )
drivers/video/fbdev/pxa3xx-gcu.c:572:33: sparse: got int ( * )( ... )
drivers/video/fbdev/pxa3xx-gcu.c:153:15: sparse: sparse: memset with byte count of
262144
--
> 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/soc/qcom/smd-rpm.c:177:25: sparse: sparse: incorrect type
in argument 2 (different address spaces) @@ expected void const volatile [noderef]
__iomem *from @@ got unsigned char const * @@
> drivers/soc/qcom/smd-rpm.c:177:25: sparse: expected void const volatile [noderef]
__iomem *from
drivers/soc/qcom/smd-rpm.c:177:25: sparse: got unsigned char
const *
vim +71 drivers/mtd/maps/pxa2xx-flash.c
e644f7d6289456 Todd Poynor 2005-11-07 45
06f25510692385 Bill Pemberton 2012-11-19 46 static int pxa2xx_flash_probe(struct
platform_device *pdev)
e644f7d6289456 Todd Poynor 2005-11-07 47 {
d20d5a5780a014 Jingoo Han 2013-07-30 48 struct flash_platform_data *flash =
dev_get_platdata(&pdev->dev);
e644f7d6289456 Todd Poynor 2005-11-07 49 struct pxa2xx_flash_info *info;
e644f7d6289456 Todd Poynor 2005-11-07 50 struct resource *res;
e644f7d6289456 Todd Poynor 2005-11-07 51
e644f7d6289456 Todd Poynor 2005-11-07 52 res = platform_get_resource(pdev,
IORESOURCE_MEM, 0);
e644f7d6289456 Todd Poynor 2005-11-07 53 if (!res)
e644f7d6289456 Todd Poynor 2005-11-07 54 return -ENODEV;
e644f7d6289456 Todd Poynor 2005-11-07 55
2bfefa4c9632fb Julia Lawall 2010-05-13 56 info = kzalloc(sizeof(struct
pxa2xx_flash_info), GFP_KERNEL);
e644f7d6289456 Todd Poynor 2005-11-07 57 if (!info)
e644f7d6289456 Todd Poynor 2005-11-07 58 return -ENOMEM;
e644f7d6289456 Todd Poynor 2005-11-07 59
7c4bb4f8f8ad6d Geert Uytterhoeven 2013-11-12 60 info->map.name = flash->name;
e644f7d6289456 Todd Poynor 2005-11-07 61 info->map.bankwidth =
flash->width;
e644f7d6289456 Todd Poynor 2005-11-07 62 info->map.phys = res->start;
28f65c11f2ffb3 Joe Perches 2011-06-09 63 info->map.size =
resource_size(res);
e644f7d6289456 Todd Poynor 2005-11-07 64
e644f7d6289456 Todd Poynor 2005-11-07 65 info->map.virt =
ioremap(info->map.phys, info->map.size);
e644f7d6289456 Todd Poynor 2005-11-07 66 if (!info->map.virt) {
e644f7d6289456 Todd Poynor 2005-11-07 67 printk(KERN_WARNING "Failed to
ioremap %s\n",
e644f7d6289456 Todd Poynor 2005-11-07 68 info->map.name);
e644f7d6289456 Todd Poynor 2005-11-07 69 return -ENOMEM;
e644f7d6289456 Todd Poynor 2005-11-07 70 }
97ef08ae275e38 Christoph Hellwig 2019-08-17 @71 info->map.cached =
ioremap_cache(info->map.phys, info->map.size);
e644f7d6289456 Todd Poynor 2005-11-07 72 if (!info->map.cached)
e644f7d6289456 Todd Poynor 2005-11-07 73 printk(KERN_WARNING "Failed to
ioremap cached %s\n",
e644f7d6289456 Todd Poynor 2005-11-07 74 info->map.name);
e644f7d6289456 Todd Poynor 2005-11-07 75 info->map.inval_cache =
pxa2xx_map_inval_cache;
e644f7d6289456 Todd Poynor 2005-11-07 76 simple_map_init(&info->map);
e644f7d6289456 Todd Poynor 2005-11-07 77
e644f7d6289456 Todd Poynor 2005-11-07 78 printk(KERN_NOTICE
e644f7d6289456 Todd Poynor 2005-11-07 79 "Probing %s at physical
address 0x%08lx"
e644f7d6289456 Todd Poynor 2005-11-07 80 " (%d-bit
bankwidth)\n",
e644f7d6289456 Todd Poynor 2005-11-07 81 info->map.name, (unsigned
long)info->map.phys,
e644f7d6289456 Todd Poynor 2005-11-07 82 info->map.bankwidth * 8);
e644f7d6289456 Todd Poynor 2005-11-07 83
e644f7d6289456 Todd Poynor 2005-11-07 84 info->mtd =
do_map_probe(flash->map_name, &info->map);
e644f7d6289456 Todd Poynor 2005-11-07 85
e644f7d6289456 Todd Poynor 2005-11-07 86 if (!info->mtd) {
e644f7d6289456 Todd Poynor 2005-11-07 @87 iounmap((void *)info->map.virt);
e644f7d6289456 Todd Poynor 2005-11-07 88 if (info->map.cached)
e644f7d6289456 Todd Poynor 2005-11-07 @89 iounmap(info->map.cached);
e644f7d6289456 Todd Poynor 2005-11-07 90 return -EIO;
e644f7d6289456 Todd Poynor 2005-11-07 91 }
2451581f94e3f5 Frans Klaver 2015-06-10 92 info->mtd->dev.parent =
&pdev->dev;
e644f7d6289456 Todd Poynor 2005-11-07 93
42d7fbe223ab87 Artem Bityutskiy 2012-03-09 94
mtd_device_parse_register(info->mtd, probes, NULL, flash->parts,
42d7fbe223ab87 Artem Bityutskiy 2012-03-09 95 flash->nr_parts);
e644f7d6289456 Todd Poynor 2005-11-07 96
7a192ec334cab9 Ming Lei 2009-02-06 97 platform_set_drvdata(pdev, info);
e644f7d6289456 Todd Poynor 2005-11-07 98 return 0;
e644f7d6289456 Todd Poynor 2005-11-07 99 }
e644f7d6289456 Todd Poynor 2005-11-07 100
:::::: The code at line 71 was first introduced by commit
:::::: 97ef08ae275e388321dcde9190adbaa0c67b93fe mtd: pxa2xx: Use ioremap_cache insted of
ioremap_cached
:::::: TO: Christoph Hellwig <hch(a)lst.de>
:::::: CC: Richard Weinberger <richard(a)nod.at>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org