drivers/video/fbdev/fsl-diu-fb.c:880:49: sparse: sparse: incorrect type in argument 1 (different address spaces)

From: kernel test robot
Date: Sun Dec 10 2023 - 01:05:18 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: c527f5606aa545233a4d2c6d5c636ed82b8633ef
commit: b28d1ccf921a4333be14017d82066386d419e638 powerpc/io: Expect immutable pointer in virt_to_phys() prototype
date: 7 weeks ago
config: powerpc-randconfig-r113-20231106 (https://download.01.org/0day-ci/archive/20231210/202312101354.RzyyOmYQ-lkp@xxxxxxxxx/config)
compiler: powerpc-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231210/202312101354.RzyyOmYQ-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312101354.RzyyOmYQ-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
drivers/video/fbdev/fsl-diu-fb.c:497:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got unsigned int [usertype] *reg @@
drivers/video/fbdev/fsl-diu-fb.c:497:26: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:497:26: sparse: got unsigned int [usertype] *reg
drivers/video/fbdev/fsl-diu-fb.c:496:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got unsigned int [usertype] *reg @@
drivers/video/fbdev/fsl-diu-fb.c:496:26: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:496:26: sparse: got unsigned int [usertype] *reg
drivers/video/fbdev/fsl-diu-fb.c:493:6: sparse: sparse: symbol 'wr_reg_wa' was not declared. Should it be static?
drivers/video/fbdev/fsl-diu-fb.c:509:36: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] *reg @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:509:36: sparse: expected unsigned int [usertype] *reg
drivers/video/fbdev/fsl-diu-fb.c:509:36: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:513:29: sparse: sparse: restricted __be32 degrades to integer
drivers/video/fbdev/fsl-diu-fb.c:519:44: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] *reg @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:519:44: sparse: expected unsigned int [usertype] *reg
drivers/video/fbdev/fsl-diu-fb.c:519:44: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:524:29: sparse: sparse: restricted __be32 degrades to integer
drivers/video/fbdev/fsl-diu-fb.c:530:44: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] *reg @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:530:44: sparse: expected unsigned int [usertype] *reg
drivers/video/fbdev/fsl-diu-fb.c:530:44: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:536:29: sparse: sparse: restricted __be32 degrades to integer
drivers/video/fbdev/fsl-diu-fb.c:537:44: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] *reg @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:537:44: sparse: expected unsigned int [usertype] *reg
drivers/video/fbdev/fsl-diu-fb.c:537:44: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:544:29: sparse: sparse: restricted __be32 degrades to integer
drivers/video/fbdev/fsl-diu-fb.c:545:44: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] *reg @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:545:44: sparse: expected unsigned int [usertype] *reg
drivers/video/fbdev/fsl-diu-fb.c:545:44: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:561:36: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] *reg @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:561:36: sparse: expected unsigned int [usertype] *reg
drivers/video/fbdev/fsl-diu-fb.c:561:36: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:566:44: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] *reg @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:566:44: sparse: expected unsigned int [usertype] *reg
drivers/video/fbdev/fsl-diu-fb.c:566:44: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:569:44: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] *reg @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:569:44: sparse: expected unsigned int [usertype] *reg
drivers/video/fbdev/fsl-diu-fb.c:569:44: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:575:44: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] *reg @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:575:44: sparse: expected unsigned int [usertype] *reg
drivers/video/fbdev/fsl-diu-fb.c:575:44: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:578:44: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] *reg @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:578:44: sparse: expected unsigned int [usertype] *reg
drivers/video/fbdev/fsl-diu-fb.c:578:44: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:583:29: sparse: sparse: restricted __be32 degrades to integer
drivers/video/fbdev/fsl-diu-fb.c:589:44: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] *reg @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:589:44: sparse: expected unsigned int [usertype] *reg
drivers/video/fbdev/fsl-diu-fb.c:589:44: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:594:29: sparse: sparse: restricted __be32 degrades to integer
drivers/video/fbdev/fsl-diu-fb.c:600:44: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] *reg @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:600:44: sparse: expected unsigned int [usertype] *reg
drivers/video/fbdev/fsl-diu-fb.c:600:44: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:612:19: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:612:19: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:612:19: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:621:19: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:621:19: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:621:19: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:829:19: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:829:19: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:829:19: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:831:19: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:831:19: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:831:19: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:832:19: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:832:19: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:832:19: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:839:19: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:839:19: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:839:19: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:845:19: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:845:19: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:845:19: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:861:19: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:861:19: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:861:19: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:879:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected char [noderef] __iomem *screen_base @@ got void *[assigned] p @@
drivers/video/fbdev/fsl-diu-fb.c:879:27: sparse: expected char [noderef] __iomem *screen_base
drivers/video/fbdev/fsl-diu-fb.c:879:27: sparse: got void *[assigned] p
>> drivers/video/fbdev/fsl-diu-fb.c:880:49: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile *address @@ got char [noderef] __iomem *screen_base @@
drivers/video/fbdev/fsl-diu-fb.c:880:49: sparse: expected void const volatile *address
drivers/video/fbdev/fsl-diu-fb.c:880:49: sparse: got char [noderef] __iomem *screen_base
drivers/video/fbdev/fsl-diu-fb.c:890:23: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void *p @@ got char [noderef] __iomem *screen_base @@
drivers/video/fbdev/fsl-diu-fb.c:890:23: sparse: expected void *p
drivers/video/fbdev/fsl-diu-fb.c:890:23: sparse: got char [noderef] __iomem *screen_base
drivers/video/fbdev/fsl-diu-fb.c:959:24: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned int @@ got restricted __le32 [usertype] @@
drivers/video/fbdev/fsl-diu-fb.c:959:24: sparse: expected unsigned int
drivers/video/fbdev/fsl-diu-fb.c:959:24: sparse: got restricted __le32 [usertype]
drivers/video/fbdev/fsl-diu-fb.c:962:24: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned int @@ got restricted __le32 [usertype] @@
drivers/video/fbdev/fsl-diu-fb.c:962:24: sparse: expected unsigned int
drivers/video/fbdev/fsl-diu-fb.c:962:24: sparse: got restricted __le32 [usertype]
drivers/video/fbdev/fsl-diu-fb.c:965:24: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned int @@ got restricted __le32 [usertype] @@
drivers/video/fbdev/fsl-diu-fb.c:965:24: sparse: expected unsigned int
drivers/video/fbdev/fsl-diu-fb.c:965:24: sparse: got restricted __le32 [usertype]
drivers/video/fbdev/fsl-diu-fb.c:1051:27: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:1051:27: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:1051:27: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:1112:27: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:1112:27: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:1112:27: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:1114:27: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:1114:27: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:1114:27: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:1154:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] pix_fmt @@ got unsigned int @@
drivers/video/fbdev/fsl-diu-fb.c:1154:29: sparse: expected restricted __be32 [usertype] pix_fmt
drivers/video/fbdev/fsl-diu-fb.c:1154:29: sparse: got unsigned int
drivers/video/fbdev/fsl-diu-fb.c:1157:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] pix_fmt @@ got unsigned int @@
drivers/video/fbdev/fsl-diu-fb.c:1157:29: sparse: expected restricted __be32 [usertype] pix_fmt
drivers/video/fbdev/fsl-diu-fb.c:1157:29: sparse: got unsigned int
drivers/video/fbdev/fsl-diu-fb.c:1160:32: sparse: sparse: restricted __le32 degrades to integer
drivers/video/fbdev/fsl-diu-fb.c:1160:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] src_size_g_alpha @@ got unsigned int @@
drivers/video/fbdev/fsl-diu-fb.c:1160:30: sparse: expected restricted __le32 [usertype] src_size_g_alpha
drivers/video/fbdev/fsl-diu-fb.c:1160:30: sparse: got unsigned int
drivers/video/fbdev/fsl-diu-fb.c:1294:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] pix_fmt @@ got unsigned int [addressable] [usertype] pix_fmt @@
drivers/video/fbdev/fsl-diu-fb.c:1294:29: sparse: expected restricted __be32 [usertype] pix_fmt
drivers/video/fbdev/fsl-diu-fb.c:1294:29: sparse: got unsigned int [addressable] [usertype] pix_fmt
drivers/video/fbdev/fsl-diu-fb.c:1302:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [usertype] pix_fmt @@ got restricted __be32 [usertype] pix_fmt @@
drivers/video/fbdev/fsl-diu-fb.c:1302:25: sparse: expected unsigned int [addressable] [usertype] pix_fmt
drivers/video/fbdev/fsl-diu-fb.c:1302:25: sparse: got restricted __be32 [usertype] pix_fmt
drivers/video/fbdev/fsl-diu-fb.c:1329:43: sparse: sparse: restricted __le32 degrades to integer
drivers/video/fbdev/fsl-diu-fb.c:1329:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] src_size_g_alpha @@ got unsigned int @@
drivers/video/fbdev/fsl-diu-fb.c:1329:38: sparse: expected restricted __le32 [usertype] src_size_g_alpha
drivers/video/fbdev/fsl-diu-fb.c:1329:38: sparse: got unsigned int
drivers/video/fbdev/fsl-diu-fb.c:1444:39: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:1444:39: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:1444:39: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:1579:34: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct diu [noderef] __iomem *hw @@ got void *dev_id @@
drivers/video/fbdev/fsl-diu-fb.c:1579:34: sparse: expected struct diu [noderef] __iomem *hw
drivers/video/fbdev/fsl-diu-fb.c:1579:34: sparse: got void *dev_id
drivers/video/fbdev/fsl-diu-fb.c:1580:36: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:1580:36: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:1580:36: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:1585:35: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:1585:35: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:1585:35: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:1587:35: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:1587:35: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:1587:35: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:1760:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] pix_fmt @@ got unsigned int @@
drivers/video/fbdev/fsl-diu-fb.c:1760:32: sparse: expected restricted __be32 [usertype] pix_fmt
drivers/video/fbdev/fsl-diu-fb.c:1760:32: sparse: got unsigned int
drivers/video/fbdev/fsl-diu-fb.c:1772:26: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:1772:26: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:1772:26: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:1773:46: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:1773:46: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:1773:46: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:1775:38: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:1775:38: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:1775:38: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:1776:38: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:1776:38: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:1776:38: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:1782:23: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:1782:23: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:1782:23: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:1783:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/video/fbdev/fsl-diu-fb.c:1783:22: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/video/fbdev/fsl-diu-fb.c:1783:22: sparse: got restricted __be32 [noderef] __iomem *
drivers/video/fbdev/fsl-diu-fb.c:1786:31: sparse: sparse: incorrect type in argument 5 (different address spaces) @@ expected void *dev @@ got struct diu [noderef] __iomem *diu_reg @@
drivers/video/fbdev/fsl-diu-fb.c:1786:31: sparse: expected void *dev
drivers/video/fbdev/fsl-diu-fb.c:1786:31: sparse: got struct diu [noderef] __iomem *diu_reg
drivers/video/fbdev/fsl-diu-fb.c:1796:49: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void * @@ got struct diu [noderef] __iomem *diu_reg @@
drivers/video/fbdev/fsl-diu-fb.c:1796:49: sparse: expected void *
drivers/video/fbdev/fsl-diu-fb.c:1796:49: sparse: got struct diu [noderef] __iomem *diu_reg
drivers/video/fbdev/fsl-diu-fb.c:1832:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void * @@ got struct diu [noderef] __iomem *diu_reg @@
drivers/video/fbdev/fsl-diu-fb.c:1832:33: sparse: expected void *
drivers/video/fbdev/fsl-diu-fb.c:1832:33: sparse: got struct diu [noderef] __iomem *diu_reg
drivers/video/fbdev/fsl-diu-fb.c:1937:44: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted __be32 const [usertype] *p @@ got unsigned int const [usertype] *[assigned] prop @@
drivers/video/fbdev/fsl-diu-fb.c:1937:44: sparse: expected restricted __be32 const [usertype] *p
drivers/video/fbdev/fsl-diu-fb.c:1937:44: sparse: got unsigned int const [usertype] *[assigned] prop
drivers/video/fbdev/fsl-diu-fb.c:1950:42: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted __be32 const [usertype] *p @@ got unsigned int const [usertype] *[assigned] prop @@
drivers/video/fbdev/fsl-diu-fb.c:1950:42: sparse: expected restricted __be32 const [usertype] *p
drivers/video/fbdev/fsl-diu-fb.c:1950:42: sparse: got unsigned int const [usertype] *[assigned] prop
drivers/video/fbdev/fsl-diu-fb.c:513:29: sparse: sparse: dereference of noderef expression
drivers/video/fbdev/fsl-diu-fb.c:524:29: sparse: sparse: dereference of noderef expression
drivers/video/fbdev/fsl-diu-fb.c:536:29: sparse: sparse: dereference of noderef expression
drivers/video/fbdev/fsl-diu-fb.c:544:29: sparse: sparse: dereference of noderef expression
drivers/video/fbdev/fsl-diu-fb.c:583:29: sparse: sparse: dereference of noderef expression
drivers/video/fbdev/fsl-diu-fb.c:594:29: sparse: sparse: dereference of noderef expression
--
>> drivers/pci/controller/pcie-mediatek.c:400:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile *address @@ got void [noderef] __iomem * @@
drivers/pci/controller/pcie-mediatek.c:400:40: sparse: expected void const volatile *address
drivers/pci/controller/pcie-mediatek.c:400:40: sparse: got void [noderef] __iomem *
drivers/pci/controller/pcie-mediatek.c:523:44: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile *address @@ got void [noderef] __iomem * @@
drivers/pci/controller/pcie-mediatek.c:523:44: sparse: expected void const volatile *address
drivers/pci/controller/pcie-mediatek.c:523:44: sparse: got void [noderef] __iomem *
drivers/pci/controller/pcie-mediatek.c: note: in included file (through include/linux/mutex.h, include/linux/notifier.h, include/linux/clk.h):
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true

vim +880 drivers/video/fbdev/fsl-diu-fb.c

9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 798
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 799 static void update_lcdc(struct fb_info *info)
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 800 {
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 801 struct fb_var_screeninfo *var = &info->var;
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 802 struct mfb_info *mfbi = info->par;
b7795052825902 drivers/video/fsl-diu-fb.c Timur Tabi 2011-12-08 803 struct fsl_diu_data *data = mfbi->parent;
3c755b7c09a5f8 drivers/video/fsl-diu-fb.c Timur Tabi 2011-10-04 804 struct diu __iomem *hw;
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 805 int i, j;
ddd3d905436b57 drivers/video/fsl-diu-fb.c Timur Tabi 2011-12-02 806 u8 *gamma_table_base;
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 807
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 808 u32 temp;
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 809
b7795052825902 drivers/video/fsl-diu-fb.c Timur Tabi 2011-12-08 810 hw = data->diu_reg;
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 811
2867173572d5ca drivers/video/fsl-diu-fb.c Timur Tabi 2012-10-16 812 if (diu_ops.set_monitor_port)
b7795052825902 drivers/video/fsl-diu-fb.c Timur Tabi 2011-12-08 813 diu_ops.set_monitor_port(data->monitor_port);
b7795052825902 drivers/video/fsl-diu-fb.c Timur Tabi 2011-12-08 814 gamma_table_base = data->gamma;
ddd3d905436b57 drivers/video/fsl-diu-fb.c Timur Tabi 2011-12-02 815
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 816 /* Prep for DIU init - gamma table, cursor table */
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 817
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 818 for (i = 0; i <= 2; i++)
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 819 for (j = 0; j <= 255; j++)
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 820 *gamma_table_base++ = j;
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 821
e09a8c3a42f4c9 drivers/video/fsl-diu-fb.c Timur Tabi 2011-12-19 822 if (diu_ops.set_gamma_table)
b7795052825902 drivers/video/fsl-diu-fb.c Timur Tabi 2011-12-08 823 diu_ops.set_gamma_table(data->monitor_port, data->gamma);
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 824
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 825 disable_lcdc(info);
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 826
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 827 /* Program DIU registers */
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 828
b7795052825902 drivers/video/fsl-diu-fb.c Timur Tabi 2011-12-08 829 out_be32(&hw->gamma, DMA_ADDR(data, gamma));
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 830
ceb001b077af64 drivers/video/fsl-diu-fb.c Timur Tabi 2012-10-16 831 out_be32(&hw->bgnd, 0x007F7F7F); /* Set background to grey */
ceb001b077af64 drivers/video/fsl-diu-fb.c Timur Tabi 2012-10-16 832 out_be32(&hw->disp_size, (var->yres << 16) | var->xres);
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 833
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 834 /* Horizontal and vertical configuration register */
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 835 temp = var->left_margin << 22 | /* BP_H */
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 836 var->hsync_len << 11 | /* PW_H */
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 837 var->right_margin; /* FP_H */
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 838
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 839 out_be32(&hw->hsyn_para, temp);
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 840
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 841 temp = var->upper_margin << 22 | /* BP_V */
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 842 var->vsync_len << 11 | /* PW_V */
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 843 var->lower_margin; /* FP_V */
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 844
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 @845 out_be32(&hw->vsyn_para, temp);
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 846
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 847 diu_ops.set_pixel_clock(var->pixclock);
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 848
ceb001b077af64 drivers/video/fsl-diu-fb.c Timur Tabi 2012-10-16 849 #ifndef CONFIG_PPC_MPC512x
ceb001b077af64 drivers/video/fsl-diu-fb.c Timur Tabi 2012-10-16 850 /*
ceb001b077af64 drivers/video/fsl-diu-fb.c Timur Tabi 2012-10-16 851 * The PLUT register is defined differently on the MPC5121 than it
ceb001b077af64 drivers/video/fsl-diu-fb.c Timur Tabi 2012-10-16 852 * is on other SOCs. Unfortunately, there's no documentation that
ceb001b077af64 drivers/video/fsl-diu-fb.c Timur Tabi 2012-10-16 853 * explains how it's supposed to be programmed, so for now, we leave
ceb001b077af64 drivers/video/fsl-diu-fb.c Timur Tabi 2012-10-16 854 * it at the default value on the MPC5121.
ceb001b077af64 drivers/video/fsl-diu-fb.c Timur Tabi 2012-10-16 855 *
ceb001b077af64 drivers/video/fsl-diu-fb.c Timur Tabi 2012-10-16 856 * For other SOCs, program it for the highest priority, which will
ceb001b077af64 drivers/video/fsl-diu-fb.c Timur Tabi 2012-10-16 857 * reduce the chance of underrun. Technically, we should scale the
ceb001b077af64 drivers/video/fsl-diu-fb.c Timur Tabi 2012-10-16 858 * priority to match the screen resolution, but doing that properly
ceb001b077af64 drivers/video/fsl-diu-fb.c Timur Tabi 2012-10-16 859 * requires delicate fine-tuning for each use-case.
ceb001b077af64 drivers/video/fsl-diu-fb.c Timur Tabi 2012-10-16 860 */
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 861 out_be32(&hw->plut, 0x01F5F666);
ceb001b077af64 drivers/video/fsl-diu-fb.c Timur Tabi 2012-10-16 862 #endif
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 863
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 864 /* Enable the DIU */
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 865 enable_lcdc(info);
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 866 }
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 867
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 868 static int map_video_memory(struct fb_info *info)
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 869 {
537a1bf059fa31 drivers/video/fsl-diu-fb.c Krzysztof Helt 2009-06-30 870 u32 smem_len = info->fix.line_length * info->var.yres_virtual;
05342c0bdfd519 drivers/video/fsl-diu-fb.c Timur Tabi 2011-12-19 871 void *p;
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 872
05342c0bdfd519 drivers/video/fsl-diu-fb.c Timur Tabi 2011-12-19 873 p = alloc_pages_exact(smem_len, GFP_DMA | __GFP_ZERO);
05342c0bdfd519 drivers/video/fsl-diu-fb.c Timur Tabi 2011-12-19 874 if (!p) {
550949324ce77f drivers/video/fbdev/fsl-diu-fb.c Thomas Zimmermann 2023-06-13 875 fb_err(info, "unable to allocate fb memory\n");
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 876 return -ENOMEM;
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 877 }
537a1bf059fa31 drivers/video/fsl-diu-fb.c Krzysztof Helt 2009-06-30 878 mutex_lock(&info->mm_lock);
05342c0bdfd519 drivers/video/fsl-diu-fb.c Timur Tabi 2011-12-19 879 info->screen_base = p;
05342c0bdfd519 drivers/video/fsl-diu-fb.c Timur Tabi 2011-12-19 @880 info->fix.smem_start = virt_to_phys(info->screen_base);
537a1bf059fa31 drivers/video/fsl-diu-fb.c Krzysztof Helt 2009-06-30 881 info->fix.smem_len = smem_len;
537a1bf059fa31 drivers/video/fsl-diu-fb.c Krzysztof Helt 2009-06-30 882 mutex_unlock(&info->mm_lock);
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 883 info->screen_size = info->fix.smem_len;
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 884
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 885 return 0;
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 886 }
9b53a9e28a34ed drivers/video/fsl-diu-fb.c York Sun 2008-04-28 887

:::::: The code at line 880 was first introduced by commit
:::::: 05342c0bdfd519873462e04ad81be07c9cd3c1e1 drivers/video: fsl-diu-fb: merge fsl_diu_alloc() into map_video_memory()

:::::: TO: Timur Tabi <timur@xxxxxxxxxxxxx>
:::::: CC: Florian Tobias Schandinat <FlorianSchandinat@xxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki