All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: arch/arm/mach-at91/pm.c:775:30: sparse: sparse: incorrect type in assignment (different address spaces)
Date: Thu, 30 Mar 2023 03:39:20 +0800	[thread overview]
Message-ID: <202303300305.M1gA53WC-lkp@intel.com> (raw)

Hi Arnd,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   ffe78bbd512166e0ef1cc4858010b128c510ed7d
commit: 09f6b27d5ddd9ad0ec096d1b0f8decdacc70f0f8 ARM: dove: multiplatform support
date:   12 months ago
config: arm-randconfig-s043-20230329 (https://download.01.org/0day-ci/archive/20230330/202303300305.M1gA53WC-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 12.1.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.4-39-gce1a6720-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=09f6b27d5ddd9ad0ec096d1b0f8decdacc70f0f8
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 09f6b27d5ddd9ad0ec096d1b0f8decdacc70f0f8
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm SHELL=/bin/bash arch/arm/mach-at91/ arch/arm/mach-sti/ drivers/dma/ drivers/gpu/drm/ drivers/irqchip/ drivers/mmc/host/ drivers/remoteproc/ kernel/futex/ sound/atmel/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303300305.M1gA53WC-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> arch/arm/mach-at91/pm.c:775:30: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void ( *static [assigned] [toplevel] at91_suspend_sram_fn )( ... ) @@     got void [noderef] __iomem * @@
   arch/arm/mach-at91/pm.c:775:30: sparse:     expected void ( *static [assigned] [toplevel] at91_suspend_sram_fn )( ... )
   arch/arm/mach-at91/pm.c:775:30: sparse:     got void [noderef] __iomem *
--
>> arch/arm/mach-sti/platsmp.c:44:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile *p @@     got unsigned int [noderef] [usertype] __iomem *static [toplevel] cpu_strt_ptr @@
   arch/arm/mach-sti/platsmp.c:44:9: sparse:     expected void volatile *p
   arch/arm/mach-sti/platsmp.c:44:9: sparse:     got unsigned int [noderef] [usertype] __iomem *static [toplevel] cpu_strt_ptr
--
   kernel/futex/waitwake.c: note: in included file (through kernel/futex/futex.h):
>> arch/arm/include/asm/futex.h:146:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const *ptr @@     got unsigned int [noderef] [usertype] __user *uaddr @@
   arch/arm/include/asm/futex.h:146:17: sparse:     expected void const *ptr
   arch/arm/include/asm/futex.h:146:17: sparse:     got unsigned int [noderef] [usertype] __user *uaddr
   arch/arm/include/asm/futex.h:149:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const *ptr @@     got unsigned int [noderef] [usertype] __user *uaddr @@
   arch/arm/include/asm/futex.h:149:17: sparse:     expected void const *ptr
   arch/arm/include/asm/futex.h:149:17: sparse:     got unsigned int [noderef] [usertype] __user *uaddr
   arch/arm/include/asm/futex.h:152:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const *ptr @@     got unsigned int [noderef] [usertype] __user *uaddr @@
   arch/arm/include/asm/futex.h:152:17: sparse:     expected void const *ptr
   arch/arm/include/asm/futex.h:152:17: sparse:     got unsigned int [noderef] [usertype] __user *uaddr
   arch/arm/include/asm/futex.h:155:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const *ptr @@     got unsigned int [noderef] [usertype] __user *uaddr @@
   arch/arm/include/asm/futex.h:155:17: sparse:     expected void const *ptr
   arch/arm/include/asm/futex.h:155:17: sparse:     got unsigned int [noderef] [usertype] __user *uaddr
   arch/arm/include/asm/futex.h:158:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const *ptr @@     got unsigned int [noderef] [usertype] __user *uaddr @@
   arch/arm/include/asm/futex.h:158:17: sparse:     expected void const *ptr
   arch/arm/include/asm/futex.h:158:17: sparse:     got unsigned int [noderef] [usertype] __user *uaddr
   kernel/futex/waitwake.c:262:33: sparse: sparse: context imbalance in 'futex_wake_op' - different lock contexts for basic block
   kernel/futex/waitwake.c:328:6: sparse: sparse: context imbalance in 'futex_wait_queue' - unexpected unlock
   kernel/futex/waitwake.c:449:36: sparse: sparse: context imbalance in 'futex_wait_multiple_setup' - unexpected unlock
--
>> drivers/dma/ste_dma40_ll.c:342:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/dma/ste_dma40_ll.c:342:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/dma/ste_dma40_ll.c:342:9: sparse:     got unsigned int *
   drivers/dma/ste_dma40_ll.c:343:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/dma/ste_dma40_ll.c:343:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/dma/ste_dma40_ll.c:343:9: sparse:     got unsigned int *
   drivers/dma/ste_dma40_ll.c:344:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/dma/ste_dma40_ll.c:344:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/dma/ste_dma40_ll.c:344:9: sparse:     got unsigned int *
   drivers/dma/ste_dma40_ll.c:345:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/dma/ste_dma40_ll.c:345:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/dma/ste_dma40_ll.c:345:9: sparse:     got unsigned int *
   drivers/dma/ste_dma40_ll.c:355:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/dma/ste_dma40_ll.c:355:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/dma/ste_dma40_ll.c:355:9: sparse:     got unsigned int *
   drivers/dma/ste_dma40_ll.c:356:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/dma/ste_dma40_ll.c:356:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/dma/ste_dma40_ll.c:356:9: sparse:     got unsigned int *
   drivers/dma/ste_dma40_ll.c:357:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/dma/ste_dma40_ll.c:357:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/dma/ste_dma40_ll.c:357:9: sparse:     got unsigned int *
   drivers/dma/ste_dma40_ll.c:358:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/dma/ste_dma40_ll.c:358:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/dma/ste_dma40_ll.c:358:9: sparse:     got unsigned int *
--
>> drivers/dma/ste_dma40.c:1389:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/dma/ste_dma40.c:1389:28: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/dma/ste_dma40.c:1389:28: sparse:     got unsigned int *
   drivers/dma/ste_dma40.c:1405:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/dma/ste_dma40.c:1405:27: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/dma/ste_dma40.c:1405:27: sparse:     got unsigned int *
>> drivers/dma/ste_dma40.c:3564:25: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *lcpa_base @@     got void [noderef] __iomem * @@
   drivers/dma/ste_dma40.c:3564:25: sparse:     expected void *lcpa_base
   drivers/dma/ste_dma40.c:3564:25: sparse:     got void [noderef] __iomem *
>> drivers/dma/ste_dma40.c:3580:38: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *base @@     got void [noderef] __iomem * @@
   drivers/dma/ste_dma40.c:3580:38: sparse:     expected void *base
   drivers/dma/ste_dma40.c:3580:38: sparse:     got void [noderef] __iomem *
   drivers/dma/ste_dma40.c:3663:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *iomem_cookie @@     got void *base @@
   drivers/dma/ste_dma40.c:3663:40: sparse:     expected void volatile [noderef] __iomem *iomem_cookie
   drivers/dma/ste_dma40.c:3663:40: sparse:     got void *base
   drivers/dma/ste_dma40.c:3679:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *iomem_cookie @@     got void *lcpa_base @@
   drivers/dma/ste_dma40.c:3679:29: sparse:     expected void volatile [noderef] __iomem *iomem_cookie
   drivers/dma/ste_dma40.c:3679:29: sparse:     got void *lcpa_base
--
>> drivers/irqchip/irq-rda-intc.c:96:51: sparse: sparse: incorrect type in argument 4 (different address spaces) @@     expected void *host_data @@     got void [noderef] __iomem *static [assigned] [toplevel] rda_intc_base @@
   drivers/irqchip/irq-rda-intc.c:96:51: sparse:     expected void *host_data
   drivers/irqchip/irq-rda-intc.c:96:51: sparse:     got void [noderef] __iomem *static [assigned] [toplevel] rda_intc_base
--
>> drivers/irqchip/irq-bcm7120-l2.c:193:38: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/irqchip/irq-bcm7120-l2.c:193:38: sparse: sparse: cast removes address space '__iomem' of expression
--
>> drivers/remoteproc/st_remoteproc.c:98:12: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *va @@     got void [noderef] __iomem * @@
   drivers/remoteproc/st_remoteproc.c:98:12: sparse:     expected void *va
   drivers/remoteproc/st_remoteproc.c:98:12: sparse:     got void [noderef] __iomem *
   drivers/remoteproc/st_remoteproc.c:114:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *iomem_cookie @@     got void *va @@
   drivers/remoteproc/st_remoteproc.c:114:20: sparse:     expected void volatile [noderef] __iomem *iomem_cookie
   drivers/remoteproc/st_remoteproc.c:114:20: sparse:     got void *va
--
>> drivers/remoteproc/omap_remoteproc.c:1338:47: sparse: sparse: Using plain integer as NULL pointer
--
>> drivers/mmc/host/wmt-sdmmc.c:242:39: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int @@     got restricted __be32 [usertype] @@
   drivers/mmc/host/wmt-sdmmc.c:242:39: sparse:     expected unsigned int
   drivers/mmc/host/wmt-sdmmc.c:242:39: sparse:     got restricted __be32 [usertype]
--
>> sound/atmel/ac97c.c:99:62: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected restricted snd_pcm_format_t [usertype] pcm_format @@     got unsigned long long [usertype] cur_format @@
   sound/atmel/ac97c.c:99:62: sparse:     expected restricted snd_pcm_format_t [usertype] pcm_format
   sound/atmel/ac97c.c:99:62: sparse:     got unsigned long long [usertype] cur_format
   sound/atmel/ac97c.c:118:62: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected restricted snd_pcm_format_t [usertype] pcm_format @@     got unsigned long long [usertype] cur_format @@
   sound/atmel/ac97c.c:118:62: sparse:     expected restricted snd_pcm_format_t [usertype] pcm_format
   sound/atmel/ac97c.c:118:62: sparse:     got unsigned long long [usertype] cur_format
>> sound/atmel/ac97c.c:166:26: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned long long [usertype] cur_format @@     got restricted snd_pcm_format_t @@
   sound/atmel/ac97c.c:166:26: sparse:     expected unsigned long long [usertype] cur_format
   sound/atmel/ac97c.c:166:26: sparse:     got restricted snd_pcm_format_t
   sound/atmel/ac97c.c:180:26: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned long long [usertype] cur_format @@     got restricted snd_pcm_format_t @@
   sound/atmel/ac97c.c:180:26: sparse:     expected unsigned long long [usertype] cur_format
   sound/atmel/ac97c.c:180:26: sparse:     got restricted snd_pcm_format_t

vim +775 arch/arm/mach-at91/pm.c

fbc7edca5a7dd4 Alexandre Belloni  2015-09-30  740  
d2e46790559676 Alexandre Belloni  2015-01-15  741  static void __init at91_pm_sram_init(void)
d2e46790559676 Alexandre Belloni  2015-01-15  742  {
d2e46790559676 Alexandre Belloni  2015-01-15  743  	struct gen_pool *sram_pool;
d2e46790559676 Alexandre Belloni  2015-01-15  744  	phys_addr_t sram_pbase;
d2e46790559676 Alexandre Belloni  2015-01-15  745  	unsigned long sram_base;
d2e46790559676 Alexandre Belloni  2015-01-15  746  	struct device_node *node;
4a031f7dbe497a Alexandre Belloni  2015-03-03  747  	struct platform_device *pdev = NULL;
d2e46790559676 Alexandre Belloni  2015-01-15  748  
4a031f7dbe497a Alexandre Belloni  2015-03-03  749  	for_each_compatible_node(node, NULL, "mmio-sram") {
4a031f7dbe497a Alexandre Belloni  2015-03-03  750  		pdev = of_find_device_by_node(node);
4a031f7dbe497a Alexandre Belloni  2015-03-03  751  		if (pdev) {
4a031f7dbe497a Alexandre Belloni  2015-03-03  752  			of_node_put(node);
4a031f7dbe497a Alexandre Belloni  2015-03-03  753  			break;
4a031f7dbe497a Alexandre Belloni  2015-03-03  754  		}
d2e46790559676 Alexandre Belloni  2015-01-15  755  	}
d2e46790559676 Alexandre Belloni  2015-01-15  756  
d2e46790559676 Alexandre Belloni  2015-01-15  757  	if (!pdev) {
d2e46790559676 Alexandre Belloni  2015-01-15  758  		pr_warn("%s: failed to find sram device!\n", __func__);
4a031f7dbe497a Alexandre Belloni  2015-03-03  759  		return;
d2e46790559676 Alexandre Belloni  2015-01-15  760  	}
d2e46790559676 Alexandre Belloni  2015-01-15  761  
73858173593c31 Vladimir Zapolskiy 2015-09-04  762  	sram_pool = gen_pool_get(&pdev->dev, NULL);
d2e46790559676 Alexandre Belloni  2015-01-15  763  	if (!sram_pool) {
d2e46790559676 Alexandre Belloni  2015-01-15  764  		pr_warn("%s: sram pool unavailable!\n", __func__);
f87a4f022c44e5 yu kuai            2020-06-04  765  		goto out_put_device;
d2e46790559676 Alexandre Belloni  2015-01-15  766  	}
d2e46790559676 Alexandre Belloni  2015-01-15  767  
5726a8b9686348 Wenyou Yang        2015-03-09  768  	sram_base = gen_pool_alloc(sram_pool, at91_pm_suspend_in_sram_sz);
d2e46790559676 Alexandre Belloni  2015-01-15  769  	if (!sram_base) {
5726a8b9686348 Wenyou Yang        2015-03-09  770  		pr_warn("%s: unable to alloc sram!\n", __func__);
f87a4f022c44e5 yu kuai            2020-06-04  771  		goto out_put_device;
d2e46790559676 Alexandre Belloni  2015-01-15  772  	}
d2e46790559676 Alexandre Belloni  2015-01-15  773  
d2e46790559676 Alexandre Belloni  2015-01-15  774  	sram_pbase = gen_pool_virt_to_phys(sram_pool, sram_base);
5726a8b9686348 Wenyou Yang        2015-03-09 @775  	at91_suspend_sram_fn = __arm_ioremap_exec(sram_pbase,
5726a8b9686348 Wenyou Yang        2015-03-09  776  					at91_pm_suspend_in_sram_sz, false);
5726a8b9686348 Wenyou Yang        2015-03-09  777  	if (!at91_suspend_sram_fn) {
d94e688cae5661 Wenyou Yang        2015-03-09  778  		pr_warn("SRAM: Could not map\n");
f87a4f022c44e5 yu kuai            2020-06-04  779  		goto out_put_device;
d94e688cae5661 Wenyou Yang        2015-03-09  780  	}
d94e688cae5661 Wenyou Yang        2015-03-09  781  
5726a8b9686348 Wenyou Yang        2015-03-09  782  	/* Copy the pm suspend handler to SRAM */
5726a8b9686348 Wenyou Yang        2015-03-09  783  	at91_suspend_sram_fn = fncpy(at91_suspend_sram_fn,
5726a8b9686348 Wenyou Yang        2015-03-09  784  			&at91_pm_suspend_in_sram, at91_pm_suspend_in_sram_sz);
f87a4f022c44e5 yu kuai            2020-06-04  785  	return;
f87a4f022c44e5 yu kuai            2020-06-04  786  
f87a4f022c44e5 yu kuai            2020-06-04  787  out_put_device:
f87a4f022c44e5 yu kuai            2020-06-04  788  	put_device(&pdev->dev);
f87a4f022c44e5 yu kuai            2020-06-04  789  	return;
d2e46790559676 Alexandre Belloni  2015-01-15  790  }
d2e46790559676 Alexandre Belloni  2015-01-15  791  

:::::: The code at line 775 was first introduced by commit
:::::: 5726a8b9686348e8d203f1bbf9d5fc1bb5899518 ARM: at91/pm: rename function name: at91_slow_clock() --> at91_pm_suspend_sram_fn()

:::::: TO: Wenyou Yang <wenyou.yang@atmel.com>
:::::: CC: Nicolas Ferre <nicolas.ferre@atmel.com>

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

             reply	other threads:[~2023-03-29 19:40 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-29 19:39 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-09-19 12:33 arch/arm/mach-at91/pm.c:775:30: sparse: sparse: incorrect type in assignment (different address spaces) kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202303300305.M1gA53WC-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=arnd@arndb.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.