Messages in this thread |  | | Date | Mon, 13 Jul 2020 03:04:42 +0800 | From | kernel test robot <> | Subject | drivers/pci/controller/dwc/pcie-spear13xx.c:76:54: sparse: sparse: incorrect type in initializer (different address spaces) |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 0aea6d5c5be33ce94c16f9ab2f64de1f481f424b commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces date: 3 weeks ago config: x86_64-randconfig-s021-20200713 (attached as .config) compiler: gcc-9 (Debian 9.3.0-14) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.2-37-gc9676a3b-dirty git checkout 670d0a4b10704667765f7d18f7592993d02783aa # save the attached .config to linux build tree make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/pci/controller/dwc/pcie-spear13xx.c:76:54: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct pcie_app_reg *app_reg @@ got void [noderef] __iomem *app_base @@ drivers/pci/controller/dwc/pcie-spear13xx.c:76:54: sparse: expected struct pcie_app_reg *app_reg >> drivers/pci/controller/dwc/pcie-spear13xx.c:76:54: sparse: got void [noderef] __iomem *app_base >> drivers/pci/controller/dwc/pcie-spear13xx.c:127:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@ >> drivers/pci/controller/dwc/pcie-spear13xx.c:127:26: sparse: expected void volatile [noderef] __iomem *addr drivers/pci/controller/dwc/pcie-spear13xx.c:127:26: sparse: got unsigned int * drivers/pci/controller/dwc/pcie-spear13xx.c:135:54: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct pcie_app_reg *app_reg @@ got void [noderef] __iomem *app_base @@ drivers/pci/controller/dwc/pcie-spear13xx.c:135:54: sparse: expected struct pcie_app_reg *app_reg drivers/pci/controller/dwc/pcie-spear13xx.c:135:54: sparse: got void [noderef] __iomem *app_base >> drivers/pci/controller/dwc/pcie-spear13xx.c:140:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@ >> drivers/pci/controller/dwc/pcie-spear13xx.c:140:25: sparse: expected void const volatile [noderef] __iomem *addr drivers/pci/controller/dwc/pcie-spear13xx.c:140:25: sparse: got unsigned int * drivers/pci/controller/dwc/pcie-spear13xx.c:147:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@ drivers/pci/controller/dwc/pcie-spear13xx.c:147:25: sparse: expected void volatile [noderef] __iomem *addr drivers/pci/controller/dwc/pcie-spear13xx.c:147:25: sparse: got unsigned int * drivers/pci/controller/dwc/pcie-spear13xx.c:156:54: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct pcie_app_reg *app_reg @@ got void [noderef] __iomem *app_base @@ drivers/pci/controller/dwc/pcie-spear13xx.c:156:54: sparse: expected struct pcie_app_reg *app_reg drivers/pci/controller/dwc/pcie-spear13xx.c:156:54: sparse: got void [noderef] __iomem *app_base drivers/pci/controller/dwc/pcie-spear13xx.c:161:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@ drivers/pci/controller/dwc/pcie-spear13xx.c:161:31: sparse: expected void const volatile [noderef] __iomem *addr drivers/pci/controller/dwc/pcie-spear13xx.c:161:31: sparse: got unsigned int * drivers/pci/controller/dwc/pcie-spear13xx.c:162:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@ drivers/pci/controller/dwc/pcie-spear13xx.c:162:48: sparse: expected void volatile [noderef] __iomem *addr drivers/pci/controller/dwc/pcie-spear13xx.c:162:48: sparse: got unsigned int * drivers/pci/controller/dwc/pcie-spear13xx.c:169:54: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct pcie_app_reg *app_reg @@ got void [noderef] __iomem *app_base @@ drivers/pci/controller/dwc/pcie-spear13xx.c:169:54: sparse: expected struct pcie_app_reg *app_reg drivers/pci/controller/dwc/pcie-spear13xx.c:169:54: sparse: got void [noderef] __iomem *app_base drivers/pci/controller/dwc/pcie-spear13xx.c:171:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@ drivers/pci/controller/dwc/pcie-spear13xx.c:171:20: sparse: expected void const volatile [noderef] __iomem *addr drivers/pci/controller/dwc/pcie-spear13xx.c:171:20: sparse: got unsigned int *
vim +76 drivers/pci/controller/dwc/pcie-spear13xx.c
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 71 ffe82fa66afb19 drivers/pci/host/pcie-spear13xx.c Bjorn Helgaas 2016-10-06 72 static int spear13xx_pcie_establish_link(struct spear13xx_pcie *spear13xx_pcie) 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 73 { 442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c Kishon Vijay Abraham I 2017-02-15 74 struct dw_pcie *pci = spear13xx_pcie->pci; 442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c Kishon Vijay Abraham I 2017-02-15 75 struct pcie_port *pp = &pci->pp; 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 @76 struct pcie_app_reg *app_reg = spear13xx_pcie->app_base; ffe82fa66afb19 drivers/pci/host/pcie-spear13xx.c Bjorn Helgaas 2016-10-06 77 u32 val; 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 78 u32 exp_cap_off = EXP_CAP_ID_OFFSET; 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 79 442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c Kishon Vijay Abraham I 2017-02-15 80 if (dw_pcie_link_up(pci)) { 442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c Kishon Vijay Abraham I 2017-02-15 81 dev_err(pci->dev, "link already up\n"); 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 82 return 0; 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 83 } 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 84 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 85 dw_pcie_setup_rc(pp); 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 86 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 87 /* 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 88 * this controller support only 128 bytes read size, however its 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 89 * default value in capability register is 512 bytes. So force 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 90 * it to 128 here. 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 91 */ 442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c Kishon Vijay Abraham I 2017-02-15 92 dw_pcie_read(pci->dbi_base + exp_cap_off + PCI_EXP_DEVCTL, 2, &val); 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 93 val &= ~PCI_EXP_DEVCTL_READRQ; 442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c Kishon Vijay Abraham I 2017-02-15 94 dw_pcie_write(pci->dbi_base + exp_cap_off + PCI_EXP_DEVCTL, 2, val); 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 95 442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c Kishon Vijay Abraham I 2017-02-15 96 dw_pcie_write(pci->dbi_base + PCI_VENDOR_ID, 2, 0x104A); 442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c Kishon Vijay Abraham I 2017-02-15 97 dw_pcie_write(pci->dbi_base + PCI_DEVICE_ID, 2, 0xCD80); 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 98 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 99 /* 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 100 * if is_gen1 is set then handle it, so that some buggy card 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 101 * also works 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 102 */ 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 103 if (spear13xx_pcie->is_gen1) { 442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c Kishon Vijay Abraham I 2017-02-15 104 dw_pcie_read(pci->dbi_base + exp_cap_off + PCI_EXP_LNKCAP, 4c45852f494dab drivers/pci/host/pcie-spear13xx.c Gabriele Paoloni 2015-10-08 105 4, &val); 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 106 if ((val & PCI_EXP_LNKCAP_SLS) != PCI_EXP_LNKCAP_SLS_2_5GB) { 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 107 val &= ~((u32)PCI_EXP_LNKCAP_SLS); 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 108 val |= PCI_EXP_LNKCAP_SLS_2_5GB; 442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c Kishon Vijay Abraham I 2017-02-15 109 dw_pcie_write(pci->dbi_base + exp_cap_off + 4c45852f494dab drivers/pci/host/pcie-spear13xx.c Gabriele Paoloni 2015-10-08 110 PCI_EXP_LNKCAP, 4, val); 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 111 } 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 112 442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c Kishon Vijay Abraham I 2017-02-15 113 dw_pcie_read(pci->dbi_base + exp_cap_off + PCI_EXP_LNKCTL2, 4c45852f494dab drivers/pci/host/pcie-spear13xx.c Gabriele Paoloni 2015-10-08 114 2, &val); 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 115 if ((val & PCI_EXP_LNKCAP_SLS) != PCI_EXP_LNKCAP_SLS_2_5GB) { 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 116 val &= ~((u32)PCI_EXP_LNKCAP_SLS); 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 117 val |= PCI_EXP_LNKCAP_SLS_2_5GB; 442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c Kishon Vijay Abraham I 2017-02-15 118 dw_pcie_write(pci->dbi_base + exp_cap_off + 4c45852f494dab drivers/pci/host/pcie-spear13xx.c Gabriele Paoloni 2015-10-08 119 PCI_EXP_LNKCTL2, 2, val); 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 120 } 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 121 } 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 122 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 123 /* enable ltssm */ 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 124 writel(DEVICE_TYPE_RC | (1 << MISCTRL_EN_ID) 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 125 | (1 << APP_LTSSM_ENABLE_ID) 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 126 | ((u32)1 << REG_TRANSLATION_ENABLE), 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 @127 &app_reg->app_ctrl_0); 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 128 442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c Kishon Vijay Abraham I 2017-02-15 129 return dw_pcie_wait_for_link(pci); 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 130 } 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 131 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 132 static irqreturn_t spear13xx_pcie_irq_handler(int irq, void *arg) 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 133 { ffe82fa66afb19 drivers/pci/host/pcie-spear13xx.c Bjorn Helgaas 2016-10-06 134 struct spear13xx_pcie *spear13xx_pcie = arg; 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 135 struct pcie_app_reg *app_reg = spear13xx_pcie->app_base; 442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c Kishon Vijay Abraham I 2017-02-15 136 struct dw_pcie *pci = spear13xx_pcie->pci; 442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c Kishon Vijay Abraham I 2017-02-15 137 struct pcie_port *pp = &pci->pp; 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 138 unsigned int status; 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 139 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 @140 status = readl(&app_reg->int_sts); 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 141 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 142 if (status & MSI_CTRL_INT) { 68ebb7ce395c6d drivers/pci/host/pcie-spear13xx.c Fabio Estevam 2015-08-20 143 BUG_ON(!IS_ENABLED(CONFIG_PCI_MSI)); 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 144 dw_handle_msi_irq(pp); 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 145 } 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 146 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 147 writel(status, &app_reg->int_clr); 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 148 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 149 return IRQ_HANDLED; 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 150 } 51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand 2014-02-11 151
:::::: The code at line 76 was first introduced by commit :::::: 51b66a6ce12570e5ee1a249c811f7f2d74814a43 PCI: spear: Add PCIe driver for ST Microelectronics SPEAr13xx
:::::: TO: Pratyush Anand <pratyush.anand@st.com> :::::: CC: Viresh Kumar <viresh.kumar@linaro.org>
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [unhandled content-type:application/gzip] |  |