drivers/iommu/sun50i-iommu.c:890:14: warning: variable 'iova' set but not used
by kernel test robot
Hi Maxime,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d8b9faec54ae4bc2fff68bcd0befa93ace8256ce
commit: 4100b8c229b328358cc4a82f5042dbf22f1c1ccb iommu: Add Allwinner H6 IOMMU driver
date: 3 months ago
config: ia64-randconfig-r003-20200731 (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 4100b8c229b328358cc4a82f5042dbf22f1c1ccb
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/iommu/sun50i-iommu.c: In function 'sun50i_dte_get_page_table':
drivers/iommu/sun50i-iommu.c:486:16: warning: unused variable 'flags' [-Wunused-variable]
486 | unsigned long flags;
| ^~~~~
drivers/iommu/sun50i-iommu.c: In function 'sun50i_iommu_unmap':
drivers/iommu/sun50i-iommu.c:561:13: warning: variable 'pte_dma' set but not used [-Wunused-but-set-variable]
561 | dma_addr_t pte_dma;
| ^~~~~~~
drivers/iommu/sun50i-iommu.c:559:23: warning: unused variable 'iommu' [-Wunused-variable]
559 | struct sun50i_iommu *iommu = sun50i_domain->iommu;
| ^~~~~
drivers/iommu/sun50i-iommu.c: In function 'sun50i_iommu_probe_device':
drivers/iommu/sun50i-iommu.c:749:22: warning: unused variable 'group' [-Wunused-variable]
749 | struct iommu_group *group;
| ^~~~~
drivers/iommu/sun50i-iommu.c: In function 'sun50i_iommu_irq':
>> drivers/iommu/sun50i-iommu.c:890:14: warning: variable 'iova' set but not used [-Wunused-but-set-variable]
890 | phys_addr_t iova;
| ^~~~
vim +/iova +890 drivers/iommu/sun50i-iommu.c
886
887 static irqreturn_t sun50i_iommu_irq(int irq, void *dev_id)
888 {
889 struct sun50i_iommu *iommu = dev_id;
> 890 phys_addr_t iova;
891 u32 status;
892
893 spin_lock(&iommu->iommu_lock);
894
895 status = iommu_read(iommu, IOMMU_INT_STA_REG);
896 if (!(status & IOMMU_INT_MASK)) {
897 spin_unlock(&iommu->iommu_lock);
898 return IRQ_NONE;
899 }
900
901 if (status & IOMMU_INT_INVALID_L2PG)
902 iova = sun50i_iommu_handle_pt_irq(iommu,
903 IOMMU_INT_ERR_ADDR_L2_REG,
904 IOMMU_L2PG_INT_REG);
905 else if (status & IOMMU_INT_INVALID_L1PG)
906 iova = sun50i_iommu_handle_pt_irq(iommu,
907 IOMMU_INT_ERR_ADDR_L1_REG,
908 IOMMU_L1PG_INT_REG);
909 else
910 iova = sun50i_iommu_handle_perm_irq(iommu);
911
912 iommu_write(iommu, IOMMU_INT_CLR_REG, status);
913
914 iommu_write(iommu, IOMMU_RESET_REG, ~status);
915 iommu_write(iommu, IOMMU_RESET_REG, status);
916
917 spin_unlock(&iommu->iommu_lock);
918
919 return IRQ_HANDLED;
920 }
921
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
qcom_scm-smc.c:undefined reference to `__arm_smccc_smc'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d8b9faec54ae4bc2fff68bcd0befa93ace8256ce
commit: a871be6b8eee13a35a3e8e56c62770ef17ee9220 cpuidle: Convert Qualcomm SPM driver to a generic CPUidle driver
date: 9 weeks ago
config: arm-randconfig-c004-20200731 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout a871be6b8eee13a35a3e8e56c62770ef17ee9220
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arm-linux-gnueabi-ld: drivers/firmware/qcom_scm-smc.o: in function `__scm_smc_do_quirk':
>> qcom_scm-smc.c:(.text+0x60): undefined reference to `__arm_smccc_smc'
arm-linux-gnueabi-ld: drivers/firmware/qcom_scm-legacy.o: in function `scm_legacy_call':
>> qcom_scm-legacy.c:(.text+0x1d8): undefined reference to `__arm_smccc_smc'
arm-linux-gnueabi-ld: drivers/firmware/qcom_scm-legacy.o: in function `scm_legacy_call_atomic':
qcom_scm-legacy.c:(.text+0x578): undefined reference to `__arm_smccc_smc'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
[linux-next:master 8181/13260] zynqmp_disp.c:undefined reference to `dma_release_channel'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 01830e6c042e8eb6eb202e05d7df8057135b4c26
commit: d76271d22694e874ed70791702db9252ffe96a4c [8181/13260] drm: xlnx: DRM/KMS driver for Xilinx ZynqMP DisplayPort Subsystem
config: xtensa-randconfig-c004-20200731 (attached as .config)
compiler: xtensa-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout d76271d22694e874ed70791702db9252ffe96a4c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=xtensa
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
xtensa-linux-ld: drivers/gpu/drm/xlnx/zynqmp_disp.o: in function `zynqmp_disp_crtc_disable_vblank':
>> zynqmp_disp.c:(.text+0xf4): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/gpu/drm/xlnx/zynqmp_disp.o: in function `zynqmp_disp_layer_release_dma.isra.0':
zynqmp_disp.c:(.text+0x14c): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-bcm2835.o: in function `bcm2835_spi_setup':
>> spi-bcm2835.c:(.text+0x240): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-bcm2835.o: in function `bcm2835_dma_release':
spi-bcm2835.c:(.text+0x2ca): undefined reference to `dma_release_channel'
>> xtensa-linux-ld: spi-bcm2835.c:(.text+0x35e): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-bcm2835.o: in function `bcm2835_spi_shutdown':
>> spi-bcm2835.c:(.text+0x418): undefined reference to `dma_request_chan'
>> xtensa-linux-ld: spi-bcm2835.c:(.text+0x420): undefined reference to `dma_get_slave_caps'
>> xtensa-linux-ld: spi-bcm2835.c:(.text+0x45f): undefined reference to `dma_request_chan'
xtensa-linux-ld: spi-bcm2835.c:(.text+0x48b): undefined reference to `dma_request_chan'
xtensa-linux-ld: drivers/spi/spi-bcm2835.o: in function `bcm2835_dma_init':
>> spi-bcm2835.c:(.text+0x582): undefined reference to `dma_get_slave_caps'
xtensa-linux-ld: spi-bcm2835.c:(.text+0x6d6): undefined reference to `dma_get_slave_caps'
xtensa-linux-ld: drivers/spi/spi-fsl-lpspi.o: in function `fsl_lpspi_probe':
>> spi-fsl-lpspi.c:(.text+0x3df): undefined reference to `dma_request_chan'
>> xtensa-linux-ld: spi-fsl-lpspi.c:(.text+0x407): undefined reference to `dma_request_chan'
>> xtensa-linux-ld: spi-fsl-lpspi.c:(.text+0x45e): undefined reference to `dma_release_channel'
xtensa-linux-ld: spi-fsl-lpspi.c:(.text+0x474): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-img-spfi.o: in function `img_spfi_can_dma':
>> spi-img-spfi.c:(.text+0x7a): undefined reference to `dma_release_channel'
>> xtensa-linux-ld: spi-img-spfi.c:(.text+0x86): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-img-spfi.o: in function `img_spfi_probe':
>> spi-img-spfi.c:(.text+0x4c2): undefined reference to `dma_request_chan'
>> xtensa-linux-ld: spi-img-spfi.c:(.text+0x4d6): undefined reference to `dma_request_chan'
xtensa-linux-ld: spi-img-spfi.c:(.text+0x517): undefined reference to `dma_release_channel'
xtensa-linux-ld: spi-img-spfi.c:(.text+0x523): undefined reference to `dma_release_channel'
xtensa-linux-ld: spi-img-spfi.c:(.text+0x567): undefined reference to `dma_release_channel'
xtensa-linux-ld: spi-img-spfi.c:(.text+0x57a): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-omap2-mcspi.o: in function `omap2_mcspi_release_dma':
>> spi-omap2-mcspi.c:(.text+0xaa): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-omap2-mcspi.o:spi-omap2-mcspi.c:(.text+0xb8): more undefined references to `dma_release_channel' follow
xtensa-linux-ld: drivers/spi/spi-omap2-mcspi.o: in function `omap2_mcspi_probe':
>> spi-omap2-mcspi.c:(.text+0x1022): undefined reference to `dma_request_chan'
>> xtensa-linux-ld: spi-omap2-mcspi.c:(.text+0x1042): undefined reference to `dma_request_chan'
>> xtensa-linux-ld: spi-omap2-mcspi.c:(.text+0x1058): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-ti-qspi.o: in function `ti_qspi_remove':
>> spi-ti-qspi.c:(.text+0xa2): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-ti-qspi.o: in function `ti_qspi_setup':
>> spi-ti-qspi.c:(.text+0x27c): undefined reference to `dma_request_chan_by_mask'
xtensa-linux-ld: drivers/spi/spi-ti-qspi.o: in function `ti_qspi_probe':
spi-ti-qspi.c:(.text+0x429): undefined reference to `dma_request_chan_by_mask'
xtensa-linux-ld: spi-ti-qspi.c:(.text+0x470): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-pxa2xx-dma.o: in function `pxa2xx_spi_dma_stop':
spi-pxa2xx-dma.c:(.text+0x2d0): undefined reference to `dma_request_slave_channel'
xtensa-linux-ld: spi-pxa2xx-dma.c:(.text+0x2d4): undefined reference to `__dma_request_channel'
xtensa-linux-ld: drivers/spi/spi-pxa2xx-dma.o: in function `pxa2xx_spi_dma_setup':
spi-pxa2xx-dma.c:(.text+0x313): undefined reference to `dma_request_slave_channel'
xtensa-linux-ld: spi-pxa2xx-dma.c:(.text+0x33f): undefined reference to `__dma_request_channel'
xtensa-linux-ld: spi-pxa2xx-dma.c:(.text+0x35b): undefined reference to `dma_request_slave_channel'
xtensa-linux-ld: spi-pxa2xx-dma.c:(.text+0x386): undefined reference to `__dma_request_channel'
xtensa-linux-ld: spi-pxa2xx-dma.c:(.text+0x396): undefined reference to `dma_release_channel'
xtensa-linux-ld: spi-pxa2xx-dma.c:(.text+0x403): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-pxa2xx-dma.o: in function `pxa2xx_spi_dma_release':
spi-pxa2xx-dma.c:(.text+0x447): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-rspi.o: in function `rspi_rz_set_config_register':
spi-rspi.c:(.text+0xc8f): undefined reference to `dma_release_channel'
xtensa-linux-ld: spi-rspi.c:(.text+0xc9a): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-rspi.o: in function `rspi_release_dma':
spi-rspi.c:(.text+0xd3e): undefined reference to `dma_request_slave_channel'
xtensa-linux-ld: drivers/spi/spi-rspi.o: in function `rspi_remove':
spi-rspi.c:(.text+0xd58): undefined reference to `__dma_request_channel'
xtensa-linux-ld: drivers/spi/spi-rspi.o: in function `rspi_request_irq':
spi-rspi.c:(.text+0xdb8): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-rspi.o: in function `rspi_probe':
spi-rspi.c:(.text+0x104e): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-s3c64xx.o: in function `s3c64xx_spi_can_dma':
spi-s3c64xx.c:(.text+0x6f): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-s3c64xx.o: in function `s3c64xx_spi_remove':
spi-s3c64xx.c:(.text+0x78): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-s3c64xx.o: in function `s3c64xx_spi_probe':
spi-s3c64xx.c:(.text+0x7b4): undefined reference to `dma_request_chan'
xtensa-linux-ld: spi-s3c64xx.c:(.text+0x7d6): undefined reference to `dma_request_chan'
xtensa-linux-ld: spi-s3c64xx.c:(.text+0x918): undefined reference to `dma_release_channel'
xtensa-linux-ld: spi-s3c64xx.c:(.text+0x92e): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-uniphier.o: in function `uniphier_spi_unprepare_transfer_hardware':
spi-uniphier.c:(.text+0x116): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-uniphier.o: in function `uniphier_spi_remove':
spi-uniphier.c:(.text+0x126): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/spi/spi-uniphier.o: in function `uniphier_spi_probe':
spi-uniphier.c:(.text+0x2b8): undefined reference to `dma_request_chan'
xtensa-linux-ld: spi-uniphier.c:(.text+0x2f3): undefined reference to `dma_request_chan'
xtensa-linux-ld: spi-uniphier.c:(.text+0x360): undefined reference to `dma_get_slave_caps'
xtensa-linux-ld: spi-uniphier.c:(.text+0x38b): undefined reference to `dma_get_slave_caps'
xtensa-linux-ld: drivers/i2c/busses/i2c-mxs.o: in function `mxs_i2c_func':
i2c-mxs.c:(.text+0xc): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/i2c/busses/i2c-mxs.o: in function `mxs_i2c_remove':
i2c-mxs.c:(.text+0x23): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/i2c/busses/i2c-mxs.o: in function `mxs_i2c_reset':
i2c-mxs.c:(.text+0x270): undefined reference to `dma_request_chan'
xtensa-linux-ld: drivers/i2c/busses/i2c-mxs.o: in function `mxs_i2c_probe':
i2c-mxs.c:(.text+0x406): undefined reference to `dma_request_chan'
xtensa-linux-ld: drivers/i2c/busses/i2c-sh_mobile.o: in function `sh_mobile_i2c_init':
i2c-sh_mobile.c:(.text+0x262): undefined reference to `dma_release_channel'
xtensa-linux-ld: i2c-sh_mobile.c:(.text+0x277): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/i2c/busses/i2c-sh_mobile.o: in function `sh_mobile_i2c_remove':
i2c-sh_mobile.c:(.text+0x2ca): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/i2c/busses/i2c-sh_mobile.o: in function `sh_mobile_i2c_request_dma_chan':
i2c-sh_mobile.c:(.text+0x2f6): undefined reference to `dma_request_chan'
xtensa-linux-ld: i2c-sh_mobile.c:(.text+0x322): undefined reference to `dma_request_chan'
xtensa-linux-ld: drivers/i2c/busses/i2c-stm32.o:(.text+0x46): undefined reference to `dma_request_chan'
xtensa-linux-ld: drivers/i2c/busses/i2c-stm32.o: in function `stm32_i2c_dma_request':
i2c-stm32.c:(.text+0xc6): undefined reference to `dma_request_chan'
xtensa-linux-ld: i2c-stm32.c:(.text+0xf4): undefined reference to `dma_release_channel'
xtensa-linux-ld: i2c-stm32.c:(.text+0x148): undefined reference to `dma_release_channel'
xtensa-linux-ld: i2c-stm32.c:(.text+0x18e): undefined reference to `dma_release_channel'
xtensa-linux-ld: i2c-stm32.c:(.text+0x1a8): undefined reference to `dma_release_channel'
xtensa-linux-ld: i2c-stm32.c:(.text+0x1f6): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/i2c/busses/i2c-stm32.o:i2c-stm32.c:(.text+0x200): more undefined references to `dma_release_channel' follow
xtensa-linux-ld: drivers/crypto/atmel-tdes.o: in function `atmel_tdes_probe':
atmel-tdes.c:(.text+0x7ea): undefined reference to `dma_request_chan'
xtensa-linux-ld: atmel-tdes.c:(.text+0x826): undefined reference to `dma_request_chan'
xtensa-linux-ld: atmel-tdes.c:(.text+0x842): undefined reference to `dma_release_channel'
xtensa-linux-ld: atmel-tdes.c:(.text+0x97e): undefined reference to `dma_release_channel'
xtensa-linux-ld: atmel-tdes.c:(.text+0x987): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/crypto/img-hash.o: in function `img_hash_remove':
img-hash.c:(.text+0x344): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/crypto/img-hash.o: in function `img_hash_probe':
img-hash.c:(.text+0x853): undefined reference to `dma_release_channel'
xtensa-linux-ld: drivers/crypto/img-hash.o:img-hash.c:(.text+0x8f3): more undefined references to `dma_release_channel' follow
xtensa-linux-ld: drivers/crypto/img-hash.o: in function `img_hash_probe':
img-hash.c:(.text+0x96a): undefined reference to `dma_request_chan'
xtensa-linux-ld: drivers/crypto/qce/dma.o: in function `qce_dma_prep_sg.constprop.0':
dma.c:(.text+0x66): undefined reference to `dma_request_chan'
xtensa-linux-ld: drivers/crypto/qce/dma.o: in function `qce_dma_request':
dma.c:(.text+0x7f): undefined reference to `dma_request_chan'
xtensa-linux-ld: dma.c:(.text+0xa2): undefined reference to `dma_release_channel'
xtensa-linux-ld: dma.c:(.text+0xb8): undefined reference to `dma_release_channel'
xtensa-linux-ld: dma.c:(.text+0xc7): undefined reference to `dma_release_channel'
xtensa-linux-ld: dma.c:(.text+0xcf): undefined reference to `dma_release_channel'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
drivers/ptp/ptp_ines.c:837:34: warning: unused variable 'ines_ptp_ctrl_of_match'
by kernel test robot
Hi Richard,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d8b9faec54ae4bc2fff68bcd0befa93ace8256ce
commit: bad1eaa6ac312ffd7aa46dd5a4d9843b824aa023 ptp: Add a driver for InES time stamping IP core.
date: 7 months ago
config: x86_64-randconfig-r036-20200731 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c23ae3f18ee3ff11671f4c62ffc66d150b1bcdc2)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git checkout bad1eaa6ac312ffd7aa46dd5a4d9843b824aa023
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/ptp/ptp_ines.c:481:37: warning: format specifies type 'unsigned char' but the argument has type 'int' [-Wformat]
tag_to_msgtype(ts->tag & 0x7), *msgtype & 0xf);
^~~~~~~~~~~~~~
include/linux/device.h:1784:39: note: expanded from macro 'dev_dbg'
dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/dynamic_debug.h:158:19: note: expanded from macro 'dynamic_dev_dbg'
dev, fmt, ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/dynamic_debug.h:143:56: note: expanded from macro '_dynamic_func_call'
__dynamic_func_call(__UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/dynamic_debug.h:125:15: note: expanded from macro '__dynamic_func_call'
func(&id, ##__VA_ARGS__); \
^~~~~~~~~~~
drivers/ptp/ptp_ines.c:491:19: warning: format specifies type 'unsigned short' but the argument has type 'int' [-Wformat]
ts->portnum, ntohs(*portn));
^~~~~~~~~~~~~
include/linux/device.h:1784:39: note: expanded from macro 'dev_dbg'
dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/dynamic_debug.h:158:19: note: expanded from macro 'dynamic_dev_dbg'
dev, fmt, ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/dynamic_debug.h:143:56: note: expanded from macro '_dynamic_func_call'
__dynamic_func_call(__UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__)
^~~~~~~~~~~
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/byteorder/generic.h:137:21: note: expanded from macro '___ntohs'
#define ___ntohs(x) __be16_to_cpu(x)
^~~~~~~~~~~~~~~~
include/uapi/linux/byteorder/little_endian.h:42:26: note: expanded from macro '__be16_to_cpu'
#define __be16_to_cpu(x) __swab16((__force __u16)(__be16)(x))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/uapi/linux/swab.h:104:2: note: expanded from macro '__swab16'
(__builtin_constant_p((__u16)(x)) ? \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/ptp/ptp_ines.c:496:17: warning: format specifies type 'unsigned short' but the argument has type 'int' [-Wformat]
ts->seqid, ntohs(*seqid));
^~~~~~~~~~~~~
include/linux/device.h:1784:39: note: expanded from macro 'dev_dbg'
dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/dynamic_debug.h:158:19: note: expanded from macro 'dynamic_dev_dbg'
dev, fmt, ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/dynamic_debug.h:143:56: note: expanded from macro '_dynamic_func_call'
__dynamic_func_call(__UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__)
^~~~~~~~~~~
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/byteorder/generic.h:137:21: note: expanded from macro '___ntohs'
#define ___ntohs(x) __be16_to_cpu(x)
^~~~~~~~~~~~~~~~
include/uapi/linux/byteorder/little_endian.h:42:26: note: expanded from macro '__be16_to_cpu'
#define __be16_to_cpu(x) __swab16((__force __u16)(__be16)(x))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/uapi/linux/swab.h:104:2: note: expanded from macro '__swab16'
(__builtin_constant_p((__u16)(x)) ? \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/ptp/ptp_ines.c:837:34: warning: unused variable 'ines_ptp_ctrl_of_match' [-Wunused-const-variable]
static const struct of_device_id ines_ptp_ctrl_of_match[] = {
^
4 warnings generated.
vim +/ines_ptp_ctrl_of_match +837 drivers/ptp/ptp_ines.c
836
> 837 static const struct of_device_id ines_ptp_ctrl_of_match[] = {
838 { .compatible = "ines,ptp-ctrl" },
839 { }
840 };
841
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
Re: [PATCH 2/3] misc: bcm-vk: add Broadcom VK driver
by kernel test robot
Hi Scott,
I love your patch! Yet something to improve:
[auto build test ERROR on char-misc/char-misc-testing]
[also build test ERROR on soc/for-next kees/for-next/pstore linus/master v5.8-rc7 next-20200731]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Scott-Branden/Add-Broadcom-VK-dr...
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git 22362aa30bad6f03b5bcbbeee3cdc61950d40086
config: i386-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce (this is a W=1 build):
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/misc/bcm-vk/bcm_vk_dev.c:138:5: warning: no previous prototype for 'bcm_vk_intf_ver_chk' [-Wmissing-prototypes]
138 | int bcm_vk_intf_ver_chk(struct bcm_vk *vk)
| ^~~~~~~~~~~~~~~~~~~
drivers/misc/bcm-vk/bcm_vk_dev.c: In function 'bcm_vk_load_image_by_type':
>> drivers/misc/bcm-vk/bcm_vk_dev.c:539:8: error: implicit declaration of function 'request_partial_firmware_into_buf'; did you mean 'request_firmware_into_buf'? [-Werror=implicit-function-declaration]
539 | ret = request_partial_firmware_into_buf(&fw, filename, dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| request_firmware_into_buf
cc1: some warnings being treated as errors
vim +539 drivers/misc/bcm-vk/bcm_vk_dev.c
462
463 static int bcm_vk_load_image_by_type(struct bcm_vk *vk, uint32_t load_type,
464 const char *filename)
465 {
466 struct device *dev = &vk->pdev->dev;
467 const struct firmware *fw = NULL;
468 void *bufp = NULL;
469 size_t max_buf, offset;
470 int ret;
471 uint64_t offset_codepush;
472 uint32_t codepush;
473 uint32_t value;
474 dma_addr_t boot_dma_addr;
475 bool is_stdalone;
476
477 if (load_type == VK_IMAGE_TYPE_BOOT1) {
478 /*
479 * After POR, enable VK soft BOOTSRC so bootrom do not clear
480 * the pushed image (the TCM memories).
481 */
482 value = vkread32(vk, BAR_0, BAR_BOOTSRC_SELECT);
483 value |= BOOTSRC_SOFT_ENABLE;
484 vkwrite32(vk, value, BAR_0, BAR_BOOTSRC_SELECT);
485
486 codepush = CODEPUSH_BOOTSTART + CODEPUSH_BOOT1_ENTRY;
487 offset_codepush = BAR_CODEPUSH_SBL;
488
489 /* Write a 1 to request SRAM open bit */
490 vkwrite32(vk, CODEPUSH_BOOTSTART, BAR_0, offset_codepush);
491
492 /* Wait for VK to respond */
493 ret = bcm_vk_wait(vk, BAR_0, BAR_BOOT_STATUS, SRAM_OPEN,
494 SRAM_OPEN, LOAD_IMAGE_TIMEOUT_MS);
495 if (ret < 0) {
496 dev_err(dev, "boot1 timeout\n");
497 goto err_buf_out;
498 }
499
500 max_buf = SZ_256K;
501 bufp = dma_alloc_coherent(dev,
502 max_buf,
503 &boot_dma_addr, GFP_KERNEL);
504 if (!bufp) {
505 dev_err(dev, "Error allocating 0x%zx\n", max_buf);
506 ret = -ENOMEM;
507 goto err_buf_out;
508 }
509 } else if (load_type == VK_IMAGE_TYPE_BOOT2) {
510 codepush = CODEPUSH_BOOT2_ENTRY;
511 offset_codepush = BAR_CODEPUSH_SBI;
512
513 /* Wait for VK to respond */
514 ret = bcm_vk_wait(vk, BAR_0, BAR_BOOT_STATUS, DDR_OPEN,
515 DDR_OPEN, LOAD_IMAGE_TIMEOUT_MS);
516 if (ret < 0) {
517 dev_err(dev, "boot2 timeout\n");
518 goto err_buf_out;
519 }
520
521 max_buf = SZ_4M;
522 bufp = dma_alloc_coherent(dev,
523 max_buf,
524 &boot_dma_addr, GFP_KERNEL);
525 if (!bufp) {
526 dev_err(dev, "Error allocating 0x%zx\n", max_buf);
527 ret = -ENOMEM;
528 goto err_buf_out;
529 }
530
531 bcm_vk_buf_notify(vk, bufp, boot_dma_addr, max_buf);
532 } else {
533 dev_err(dev, "Error invalid image type 0x%x\n", load_type);
534 ret = -EINVAL;
535 goto err_buf_out;
536 }
537
538 offset = 0;
> 539 ret = request_partial_firmware_into_buf(&fw, filename, dev,
540 bufp, max_buf, offset);
541 if (ret) {
542 dev_err(dev, "Error %d requesting firmware file: %s\n",
543 ret, filename);
544 goto err_firmware_out;
545 }
546 dev_dbg(dev, "size=0x%zx\n", fw->size);
547 if (load_type == VK_IMAGE_TYPE_BOOT1)
548 memcpy_toio(vk->bar[BAR_1] + BAR1_CODEPUSH_BASE_BOOT1,
549 bufp,
550 fw->size);
551
552 dev_dbg(dev, "Signaling 0x%x to 0x%llx\n", codepush, offset_codepush);
553 vkwrite32(vk, codepush, BAR_0, offset_codepush);
554
555 if (load_type == VK_IMAGE_TYPE_BOOT1) {
556 /* wait until done */
557 ret = bcm_vk_wait(vk, BAR_0, BAR_BOOT_STATUS,
558 BOOT1_RUNNING,
559 BOOT1_RUNNING,
560 BOOT1_STARTUP_TIMEOUT_MS);
561
562 is_stdalone = vkread32(vk, BAR_0, BAR_BOOT_STATUS) &
563 BOOT_STDALONE_RUNNING;
564 if (ret && !is_stdalone) {
565 dev_err(dev,
566 "Timeout %ld ms waiting for boot1 to come up\n",
567 BOOT1_STARTUP_TIMEOUT_MS);
568 goto err_firmware_out;
569 } else if (is_stdalone) {
570 uint32_t reg;
571
572 reg = vkread32(vk, BAR_0, BAR_BOOT1_STDALONE_PROGRESS);
573 if ((reg & BOOT1_STDALONE_PROGRESS_MASK) ==
574 BOOT1_STDALONE_SUCCESS) {
575 dev_info(dev, "Boot1 standalone success\n");
576 ret = 0;
577 } else {
578 dev_err(dev, "Timeout %ld ms - Boot1 standalone failure\n",
579 BOOT1_STARTUP_TIMEOUT_MS);
580 ret = -EINVAL;
581 goto err_firmware_out;
582 }
583 }
584 } else if (load_type == VK_IMAGE_TYPE_BOOT2) {
585 unsigned long timeout;
586
587 timeout = jiffies + msecs_to_jiffies(LOAD_IMAGE_TIMEOUT_MS);
588
589 /* To send more data to VK than max_buf allowed at a time */
590 do {
591 /*
592 * Check for ack from card. when Ack is received,
593 * it means all the data is received by card.
594 * Exit the loop after ack is received.
595 */
596 ret = bcm_vk_wait(vk, BAR_0, BAR_BOOT_STATUS,
597 FW_LOADER_ACK_RCVD_ALL_DATA,
598 FW_LOADER_ACK_RCVD_ALL_DATA,
599 TXFR_COMPLETE_TIMEOUT_MS);
600 if (ret == 0) {
601 dev_info(dev, "Exit boot2 download\n");
602 break;
603 }
604
605 /* exit the loop, if there is no response from card */
606 if (time_after(jiffies, timeout)) {
607 dev_err(dev, "Error. No reply from card\n");
608 ret = -ETIMEDOUT;
609 goto err_firmware_out;
610 }
611
612 /* Wait for VK to open BAR space to copy new data */
613 ret = bcm_vk_wait(vk, BAR_0, offset_codepush,
614 codepush, 0,
615 TXFR_COMPLETE_TIMEOUT_MS);
616 if (ret == 0) {
617 offset += max_buf;
618 ret = request_partial_firmware_into_buf
619 (&fw,
620 filename,
621 dev, bufp,
622 max_buf,
623 offset);
624 if (ret) {
625 dev_err(dev,
626 "Error %d requesting firmware file: %s offset: 0x%zx\n",
627 ret, filename, offset);
628 goto err_firmware_out;
629 }
630 dev_dbg(dev, "size=0x%zx\n", fw->size);
631 dev_dbg(dev, "Signaling 0x%x to 0x%llx\n",
632 codepush, offset_codepush);
633 vkwrite32(vk, codepush, BAR_0, offset_codepush);
634 /* reload timeout after every codepush */
635 timeout = jiffies +
636 msecs_to_jiffies(LOAD_IMAGE_TIMEOUT_MS);
637 }
638 } while (1);
639
640 /* wait for fw status bits to indicate app ready */
641 ret = bcm_vk_wait(vk, BAR_0, VK_BAR_FWSTS,
642 VK_FWSTS_READY,
643 VK_FWSTS_READY,
644 BOOT2_STARTUP_TIMEOUT_MS);
645 if (ret < 0) {
646 dev_err(dev, "Boot2 not ready - timeout\n");
647 goto err_firmware_out;
648 }
649
650 is_stdalone = vkread32(vk, BAR_0, BAR_BOOT_STATUS) &
651 BOOT_STDALONE_RUNNING;
652 if (!is_stdalone) {
653 ret = bcm_vk_intf_ver_chk(vk);
654 if (ret) {
655 dev_err(dev, "failure in intf version check\n");
656 goto err_firmware_out;
657 }
658
659 /*
660 * Next, initialize Message Q if we are loading boot2.
661 * Do a force sync
662 */
663 ret = bcm_vk_sync_msgq(vk, true);
664 if (ret) {
665 dev_err(dev, "Boot2 Error reading comm msg Q info\n");
666 ret = -EIO;
667 goto err_firmware_out;
668 }
669
670 /* sync & channel other info */
671 ret = bcm_vk_sync_card_info(vk);
672 if (ret) {
673 dev_err(dev, "Syncing Card Info failure\n");
674 goto err_firmware_out;
675 }
676 }
677 }
678
679 err_firmware_out:
680 release_firmware(fw);
681
682 err_buf_out:
683 if (bufp)
684 dma_free_coherent(dev, max_buf, bufp, boot_dma_addr);
685
686 return ret;
687 }
688
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
[sashal-linux-stable:queue-4.9 72/73] fs/f2fs/xattr.c:417:39: error: implicit declaration of function 'XATTR_SIZE'; did you mean
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git queue-4.9
head: 336aa408ceb69e212b36b6b48465803834751ef9
commit: 188ab9c73451b848601a5caca0c842a22d0d1c90 [72/73] f2fs: fix to avoid memory leakage in f2fs_listxattr
config: c6x-randconfig-r021-20200731 (attached as .config)
compiler: c6x-elf-gcc (GCC) 7.5.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 188ab9c73451b848601a5caca0c842a22d0d1c90
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=c6x
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
fs/f2fs/xattr.c: In function 'f2fs_listxattr':
>> fs/f2fs/xattr.c:417:39: error: implicit declaration of function 'XATTR_SIZE'; did you mean 'ATTR_SIZE'? [-Werror=implicit-function-declaration]
last_base_addr = (void *)base_addr + XATTR_SIZE(xnid, inode);
^~~~~~~~~~
ATTR_SIZE
>> fs/f2fs/xattr.c:428:4: error: implicit declaration of function 'f2fs_err'; did you mean 'f2fs_gc'? [-Werror=implicit-function-declaration]
f2fs_err(F2FS_I_SB(inode), "inode (%lu) has corrupted xattr",
^~~~~~~~
f2fs_gc
>> fs/f2fs/xattr.c:431:13: error: 'EFSCORRUPTED' undeclared (first use in this function); did you mean 'FS_NRSUPER'?
error = -EFSCORRUPTED;
^~~~~~~~~~~~
FS_NRSUPER
fs/f2fs/xattr.c:431:13: note: each undeclared identifier is reported only once for each function it appears in
In file included from fs/f2fs/xattr.c:25:0:
fs/f2fs/f2fs.h: In function '__mark_inode_dirty_flag':
fs/f2fs/f2fs.h:1636:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
if (set)
^
fs/f2fs/f2fs.h:1638:2: note: here
case FI_DATA_EXIST:
^~~~
cc1: some warnings being treated as errors
vim +417 fs/f2fs/xattr.c
403
404 ssize_t f2fs_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size)
405 {
406 struct inode *inode = d_inode(dentry);
407 nid_t xnid = F2FS_I(inode)->i_xattr_nid;
408 struct f2fs_xattr_entry *entry;
409 void *base_addr, *last_base_addr;
410 int error = 0;
411 size_t rest = buffer_size;
412
413 error = read_all_xattrs(inode, NULL, &base_addr);
414 if (error)
415 return error;
416
> 417 last_base_addr = (void *)base_addr + XATTR_SIZE(xnid, inode);
418
419 list_for_each_xattr(entry, base_addr) {
420 const struct xattr_handler *handler =
421 f2fs_xattr_handler(entry->e_name_index);
422 const char *prefix;
423 size_t prefix_len;
424 size_t size;
425
426 if ((void *)(entry) + sizeof(__u32) > last_base_addr ||
427 (void *)XATTR_NEXT_ENTRY(entry) > last_base_addr) {
> 428 f2fs_err(F2FS_I_SB(inode), "inode (%lu) has corrupted xattr",
429 inode->i_ino);
430 set_sbi_flag(F2FS_I_SB(inode), SBI_NEED_FSCK);
> 431 error = -EFSCORRUPTED;
432 goto cleanup;
433 }
434
435 if (!handler || (handler->list && !handler->list(dentry)))
436 continue;
437
438 prefix = handler->prefix ?: handler->name;
439 prefix_len = strlen(prefix);
440 size = prefix_len + entry->e_name_len + 1;
441 if (buffer) {
442 if (size > rest) {
443 error = -ERANGE;
444 goto cleanup;
445 }
446 memcpy(buffer, prefix, prefix_len);
447 buffer += prefix_len;
448 memcpy(buffer, entry->e_name, entry->e_name_len);
449 buffer += entry->e_name_len;
450 *buffer++ = 0;
451 }
452 rest -= size;
453 }
454 error = buffer_size - rest;
455 cleanup:
456 kzfree(base_addr);
457 return error;
458 }
459
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
drivers/char/pcmcia/cm4000_cs.c:312:23: sparse: sparse: cast removes address space '__iomem' of expression
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d8b9faec54ae4bc2fff68bcd0befa93ace8256ce
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 6 weeks ago
config: riscv-randconfig-s032-20200731 (attached as .config)
compiler: riscv32-linux-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-115-g5fc204f2-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=riscv
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/char/pcmcia/cm4000_cs.c:312:23: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/char/pcmcia/cm4000_cs.c:312:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/char/pcmcia/cm4000_cs.c:312:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:312:23: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:313:34: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:313:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:313:34: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:313:34: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:429:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/char/pcmcia/cm4000_cs.c:429:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/char/pcmcia/cm4000_cs.c:429:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:429:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:433:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:433:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:433:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:433:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:444:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:444:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:444:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:444:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:492:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:492:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:492:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:492:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:499:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:499:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:499:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:499:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:507:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:507:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:507:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:507:17: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:508:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:508:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:508:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:508:17: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:519:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:519:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:519:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:519:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:522:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:522:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:522:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:522:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:529:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:529:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:529:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:529:21: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:563:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:563:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:563:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:563:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:568:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:568:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:568:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:568:17: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:569:32: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:569:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:569:32: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:569:32: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:581:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:581:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:581:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:581:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:608:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:608:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:608:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:608:13: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:614:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:614:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:614:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:614:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:615:14: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:615:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:615:14: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:615:14: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:621:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:621:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:621:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:621:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:694:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:694:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:694:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:694:23: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:738:26: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:738:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:738:26: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:738:26: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:745:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:745:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:745:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:745:25: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:762:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:762:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:762:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:762:17: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:765:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:765:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:765:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:765:17: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:766:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:766:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:766:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:766:17: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:767:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:767:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:767:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:767:17: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:770:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:770:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:770:17: sparse: expected void volatile [noderef] __iomem *addr
--
>> drivers/char/pcmcia/synclink_cs.c:340:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/char/pcmcia/synclink_cs.c:340:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/char/pcmcia/synclink_cs.c:340:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:340:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:343:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:343:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:343:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:343:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:350:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:350:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:350:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:350:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:353:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:353:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:353:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:353:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3279:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/char/pcmcia/synclink_cs.c:3279:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/char/pcmcia/synclink_cs.c:3279:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3279:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3279:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3279:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3279:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3279:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3262:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3262:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3262:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3262:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3262:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3262:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3262:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3262:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3561:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3561:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3561:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3561:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3561:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3561:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3561:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3561:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3563:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3563:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3563:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3563:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3563:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3563:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3563:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3563:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3575:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3575:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3575:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3575:13: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3577:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3577:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3577:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3577:13: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3580:18: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3580:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3580:18: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3580:18: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3594:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3594:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3594:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3594:15: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3606:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3606:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3606:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3606:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3609:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3609:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3609:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3609:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3609:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3609:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3609:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3609:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3611:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3611:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3611:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3611:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3611:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3611:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3611:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3611:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3339:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3339:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3339:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3339:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3340:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3340:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3340:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3340:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3341:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3341:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3341:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3341:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3342:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3342:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3342:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3342:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3347:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3347:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3347:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3347:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3359:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3359:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3359:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3359:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3383:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3383:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3383:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3383:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3023:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3023:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3023:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3023:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3069:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3069:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3069:9: sparse: expected void volatile [noderef] __iomem *addr
--
>> drivers/char/pcmcia/cm4040_cs.c:110:28: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/char/pcmcia/cm4040_cs.c:110:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/char/pcmcia/cm4040_cs.c:110:28: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4040_cs.c:110:28: sparse: got void *
drivers/char/pcmcia/cm4040_cs.c:144:22: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4040_cs.c:144:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4040_cs.c:144:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4040_cs.c:144:22: sparse: got void *
drivers/char/pcmcia/cm4040_cs.c:178:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/char/pcmcia/cm4040_cs.c:178:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/char/pcmcia/cm4040_cs.c:178:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4040_cs.c:178:9: sparse: got void *
drivers/char/pcmcia/cm4040_cs.c:192:22: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4040_cs.c:192:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4040_cs.c:192:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4040_cs.c:192:22: sparse: got void *
drivers/char/pcmcia/cm4040_cs.c:252:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4040_cs.c:252:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4040_cs.c:252:33: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4040_cs.c:252:33: sparse: got void *
drivers/char/pcmcia/cm4040_cs.c:279:35: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4040_cs.c:279:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4040_cs.c:279:35: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4040_cs.c:279:35: sparse: got void *
drivers/char/pcmcia/cm4040_cs.c:311:14: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4040_cs.c:311:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4040_cs.c:311:14: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4040_cs.c:311:14: sparse: got void *
drivers/char/pcmcia/cm4040_cs.c:399:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4040_cs.c:399:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4040_cs.c:399:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4040_cs.c:399:17: sparse: got void *
--
>> drivers/rtc/rtc-bq4802.c:32:16: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/rtc/rtc-bq4802.c:32:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/rtc/rtc-bq4802.c:32:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/rtc/rtc-bq4802.c:32:16: sparse: got void *
drivers/rtc/rtc-bq4802.c:37:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/rtc/rtc-bq4802.c:37:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/rtc/rtc-bq4802.c:37:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/rtc/rtc-bq4802.c:37:9: sparse: got void *
vim +/__iomem +312 drivers/char/pcmcia/cm4000_cs.c
c1986ee9bea3d8 Harald Welte 2005-11-13 303
ecb8a8472f6d31 Olof Johansson 2008-02-04 304 static unsigned short io_read_num_rec_bytes(unsigned int iobase,
ecb8a8472f6d31 Olof Johansson 2008-02-04 305 unsigned short *s)
c1986ee9bea3d8 Harald Welte 2005-11-13 306 {
c1986ee9bea3d8 Harald Welte 2005-11-13 307 unsigned short tmp;
c1986ee9bea3d8 Harald Welte 2005-11-13 308
c1986ee9bea3d8 Harald Welte 2005-11-13 309 tmp = *s = 0;
c1986ee9bea3d8 Harald Welte 2005-11-13 310 do {
c1986ee9bea3d8 Harald Welte 2005-11-13 311 *s = tmp;
c1986ee9bea3d8 Harald Welte 2005-11-13 @312 tmp = inb(REG_NUM_BYTES(iobase)) |
c1986ee9bea3d8 Harald Welte 2005-11-13 313 (inb(REG_FLAGS0(iobase)) & 4 ? 0x100 : 0);
c1986ee9bea3d8 Harald Welte 2005-11-13 314 } while (tmp != *s);
c1986ee9bea3d8 Harald Welte 2005-11-13 315
c1986ee9bea3d8 Harald Welte 2005-11-13 316 return *s;
c1986ee9bea3d8 Harald Welte 2005-11-13 317 }
c1986ee9bea3d8 Harald Welte 2005-11-13 318
c1986ee9bea3d8 Harald Welte 2005-11-13 319 static int parse_atr(struct cm4000_dev *dev)
c1986ee9bea3d8 Harald Welte 2005-11-13 320 {
c1986ee9bea3d8 Harald Welte 2005-11-13 321 unsigned char any_t1, any_t0;
c1986ee9bea3d8 Harald Welte 2005-11-13 322 unsigned char ch, ifno;
c1986ee9bea3d8 Harald Welte 2005-11-13 323 int ix, done;
c1986ee9bea3d8 Harald Welte 2005-11-13 324
c1986ee9bea3d8 Harald Welte 2005-11-13 325 DEBUGP(3, dev, "-> parse_atr: dev->atr_len = %i\n", dev->atr_len);
c1986ee9bea3d8 Harald Welte 2005-11-13 326
c1986ee9bea3d8 Harald Welte 2005-11-13 327 if (dev->atr_len < 3) {
c1986ee9bea3d8 Harald Welte 2005-11-13 328 DEBUGP(5, dev, "parse_atr: atr_len < 3\n");
c1986ee9bea3d8 Harald Welte 2005-11-13 329 return 0;
c1986ee9bea3d8 Harald Welte 2005-11-13 330 }
c1986ee9bea3d8 Harald Welte 2005-11-13 331
c1986ee9bea3d8 Harald Welte 2005-11-13 332 if (dev->atr[0] == 0x3f)
c1986ee9bea3d8 Harald Welte 2005-11-13 333 set_bit(IS_INVREV, &dev->flags);
c1986ee9bea3d8 Harald Welte 2005-11-13 334 else
c1986ee9bea3d8 Harald Welte 2005-11-13 335 clear_bit(IS_INVREV, &dev->flags);
c1986ee9bea3d8 Harald Welte 2005-11-13 336 ix = 1;
c1986ee9bea3d8 Harald Welte 2005-11-13 337 ifno = 1;
c1986ee9bea3d8 Harald Welte 2005-11-13 338 ch = dev->atr[1];
c1986ee9bea3d8 Harald Welte 2005-11-13 339 dev->proto = 0; /* XXX PROTO */
c1986ee9bea3d8 Harald Welte 2005-11-13 340 any_t1 = any_t0 = done = 0;
c1986ee9bea3d8 Harald Welte 2005-11-13 341 dev->ta1 = 0x11; /* defaults to 9600 baud */
c1986ee9bea3d8 Harald Welte 2005-11-13 342 do {
c1986ee9bea3d8 Harald Welte 2005-11-13 343 if (ifno == 1 && (ch & 0x10)) {
c1986ee9bea3d8 Harald Welte 2005-11-13 344 /* read first interface byte and TA1 is present */
c1986ee9bea3d8 Harald Welte 2005-11-13 345 dev->ta1 = dev->atr[2];
c1986ee9bea3d8 Harald Welte 2005-11-13 346 DEBUGP(5, dev, "Card says FiDi is 0x%.2x\n", dev->ta1);
c1986ee9bea3d8 Harald Welte 2005-11-13 347 ifno++;
c1986ee9bea3d8 Harald Welte 2005-11-13 348 } else if ((ifno == 2) && (ch & 0x10)) { /* TA(2) */
c1986ee9bea3d8 Harald Welte 2005-11-13 349 dev->ta1 = 0x11;
c1986ee9bea3d8 Harald Welte 2005-11-13 350 ifno++;
c1986ee9bea3d8 Harald Welte 2005-11-13 351 }
c1986ee9bea3d8 Harald Welte 2005-11-13 352
c1986ee9bea3d8 Harald Welte 2005-11-13 353 DEBUGP(5, dev, "Yi=%.2x\n", ch & 0xf0);
c1986ee9bea3d8 Harald Welte 2005-11-13 354 ix += ((ch & 0x10) >> 4) /* no of int.face chars */
c1986ee9bea3d8 Harald Welte 2005-11-13 355 +((ch & 0x20) >> 5)
c1986ee9bea3d8 Harald Welte 2005-11-13 356 + ((ch & 0x40) >> 6)
c1986ee9bea3d8 Harald Welte 2005-11-13 357 + ((ch & 0x80) >> 7);
c1986ee9bea3d8 Harald Welte 2005-11-13 358 /* ATRLENCK(dev,ix); */
c1986ee9bea3d8 Harald Welte 2005-11-13 359 if (ch & 0x80) { /* TDi */
c1986ee9bea3d8 Harald Welte 2005-11-13 360 ch = dev->atr[ix];
c1986ee9bea3d8 Harald Welte 2005-11-13 361 if ((ch & 0x0f)) {
c1986ee9bea3d8 Harald Welte 2005-11-13 362 any_t1 = 1;
c1986ee9bea3d8 Harald Welte 2005-11-13 363 DEBUGP(5, dev, "card is capable of T=1\n");
c1986ee9bea3d8 Harald Welte 2005-11-13 364 } else {
c1986ee9bea3d8 Harald Welte 2005-11-13 365 any_t0 = 1;
c1986ee9bea3d8 Harald Welte 2005-11-13 366 DEBUGP(5, dev, "card is capable of T=0\n");
c1986ee9bea3d8 Harald Welte 2005-11-13 367 }
c1986ee9bea3d8 Harald Welte 2005-11-13 368 } else
c1986ee9bea3d8 Harald Welte 2005-11-13 369 done = 1;
c1986ee9bea3d8 Harald Welte 2005-11-13 370 } while (!done);
c1986ee9bea3d8 Harald Welte 2005-11-13 371
c1986ee9bea3d8 Harald Welte 2005-11-13 372 DEBUGP(5, dev, "ix=%d noHist=%d any_t1=%d\n",
c1986ee9bea3d8 Harald Welte 2005-11-13 373 ix, dev->atr[1] & 15, any_t1);
c1986ee9bea3d8 Harald Welte 2005-11-13 374 if (ix + 1 + (dev->atr[1] & 0x0f) + any_t1 != dev->atr_len) {
c1986ee9bea3d8 Harald Welte 2005-11-13 375 DEBUGP(5, dev, "length error\n");
c1986ee9bea3d8 Harald Welte 2005-11-13 376 return 0;
c1986ee9bea3d8 Harald Welte 2005-11-13 377 }
c1986ee9bea3d8 Harald Welte 2005-11-13 378 if (any_t0)
c1986ee9bea3d8 Harald Welte 2005-11-13 379 set_bit(IS_ANY_T0, &dev->flags);
c1986ee9bea3d8 Harald Welte 2005-11-13 380
c1986ee9bea3d8 Harald Welte 2005-11-13 381 if (any_t1) { /* compute csum */
c1986ee9bea3d8 Harald Welte 2005-11-13 382 dev->atr_csum = 0;
c1986ee9bea3d8 Harald Welte 2005-11-13 383 #ifdef ATR_CSUM
c1986ee9bea3d8 Harald Welte 2005-11-13 384 for (i = 1; i < dev->atr_len; i++)
c1986ee9bea3d8 Harald Welte 2005-11-13 385 dev->atr_csum ^= dev->atr[i];
c1986ee9bea3d8 Harald Welte 2005-11-13 386 if (dev->atr_csum) {
c1986ee9bea3d8 Harald Welte 2005-11-13 387 set_bit(IS_BAD_CSUM, &dev->flags);
c1986ee9bea3d8 Harald Welte 2005-11-13 388 DEBUGP(5, dev, "bad checksum\n");
c1986ee9bea3d8 Harald Welte 2005-11-13 389 goto return_0;
c1986ee9bea3d8 Harald Welte 2005-11-13 390 }
c1986ee9bea3d8 Harald Welte 2005-11-13 391 #endif
c1986ee9bea3d8 Harald Welte 2005-11-13 392 if (any_t0 == 0)
c1986ee9bea3d8 Harald Welte 2005-11-13 393 dev->proto = 1; /* XXX PROTO */
c1986ee9bea3d8 Harald Welte 2005-11-13 394 set_bit(IS_ANY_T1, &dev->flags);
c1986ee9bea3d8 Harald Welte 2005-11-13 395 }
c1986ee9bea3d8 Harald Welte 2005-11-13 396
c1986ee9bea3d8 Harald Welte 2005-11-13 397 return 1;
c1986ee9bea3d8 Harald Welte 2005-11-13 398 }
c1986ee9bea3d8 Harald Welte 2005-11-13 399
c1986ee9bea3d8 Harald Welte 2005-11-13 400 struct card_fixup {
c1986ee9bea3d8 Harald Welte 2005-11-13 401 char atr[12];
c1986ee9bea3d8 Harald Welte 2005-11-13 402 u_int8_t atr_len;
c1986ee9bea3d8 Harald Welte 2005-11-13 403 u_int8_t stopbits;
c1986ee9bea3d8 Harald Welte 2005-11-13 404 };
c1986ee9bea3d8 Harald Welte 2005-11-13 405
c1986ee9bea3d8 Harald Welte 2005-11-13 406 static struct card_fixup card_fixups[] = {
c1986ee9bea3d8 Harald Welte 2005-11-13 407 { /* ACOS */
c1986ee9bea3d8 Harald Welte 2005-11-13 408 .atr = { 0x3b, 0xb3, 0x11, 0x00, 0x00, 0x41, 0x01 },
c1986ee9bea3d8 Harald Welte 2005-11-13 409 .atr_len = 7,
c1986ee9bea3d8 Harald Welte 2005-11-13 410 .stopbits = 0x03,
c1986ee9bea3d8 Harald Welte 2005-11-13 411 },
c1986ee9bea3d8 Harald Welte 2005-11-13 412 { /* Motorola */
c1986ee9bea3d8 Harald Welte 2005-11-13 413 .atr = {0x3b, 0x76, 0x13, 0x00, 0x00, 0x80, 0x62, 0x07,
c1986ee9bea3d8 Harald Welte 2005-11-13 414 0x41, 0x81, 0x81 },
c1986ee9bea3d8 Harald Welte 2005-11-13 415 .atr_len = 11,
c1986ee9bea3d8 Harald Welte 2005-11-13 416 .stopbits = 0x04,
c1986ee9bea3d8 Harald Welte 2005-11-13 417 },
c1986ee9bea3d8 Harald Welte 2005-11-13 418 };
c1986ee9bea3d8 Harald Welte 2005-11-13 419
c1986ee9bea3d8 Harald Welte 2005-11-13 420 static void set_cardparameter(struct cm4000_dev *dev)
c1986ee9bea3d8 Harald Welte 2005-11-13 421 {
c1986ee9bea3d8 Harald Welte 2005-11-13 422 int i;
9a017a910346af Dominik Brodowski 2010-07-24 423 unsigned int iobase = dev->p_dev->resource[0]->start;
c1986ee9bea3d8 Harald Welte 2005-11-13 424 u_int8_t stopbits = 0x02; /* ISO default */
c1986ee9bea3d8 Harald Welte 2005-11-13 425
c1986ee9bea3d8 Harald Welte 2005-11-13 426 DEBUGP(3, dev, "-> set_cardparameter\n");
c1986ee9bea3d8 Harald Welte 2005-11-13 427
c1986ee9bea3d8 Harald Welte 2005-11-13 428 dev->flags1 = dev->flags1 | (((dev->baudv - 1) & 0x0100) >> 8);
c1986ee9bea3d8 Harald Welte 2005-11-13 @429 xoutb(dev->flags1, REG_FLAGS1(iobase));
c1986ee9bea3d8 Harald Welte 2005-11-13 430 DEBUGP(5, dev, "flags1 = 0x%02x\n", dev->flags1);
c1986ee9bea3d8 Harald Welte 2005-11-13 431
c1986ee9bea3d8 Harald Welte 2005-11-13 432 /* set baudrate */
c1986ee9bea3d8 Harald Welte 2005-11-13 433 xoutb((unsigned char)((dev->baudv - 1) & 0xFF), REG_BAUDRATE(iobase));
c1986ee9bea3d8 Harald Welte 2005-11-13 434
c1986ee9bea3d8 Harald Welte 2005-11-13 435 DEBUGP(5, dev, "baudv = %i -> write 0x%02x\n", dev->baudv,
c1986ee9bea3d8 Harald Welte 2005-11-13 436 ((dev->baudv - 1) & 0xFF));
c1986ee9bea3d8 Harald Welte 2005-11-13 437
c1986ee9bea3d8 Harald Welte 2005-11-13 438 /* set stopbits */
c1986ee9bea3d8 Harald Welte 2005-11-13 439 for (i = 0; i < ARRAY_SIZE(card_fixups); i++) {
c1986ee9bea3d8 Harald Welte 2005-11-13 440 if (!memcmp(dev->atr, card_fixups[i].atr,
c1986ee9bea3d8 Harald Welte 2005-11-13 441 card_fixups[i].atr_len))
c1986ee9bea3d8 Harald Welte 2005-11-13 442 stopbits = card_fixups[i].stopbits;
c1986ee9bea3d8 Harald Welte 2005-11-13 443 }
c1986ee9bea3d8 Harald Welte 2005-11-13 444 xoutb(stopbits, REG_STOPBITS(iobase));
c1986ee9bea3d8 Harald Welte 2005-11-13 445
c1986ee9bea3d8 Harald Welte 2005-11-13 446 DEBUGP(3, dev, "<- set_cardparameter\n");
c1986ee9bea3d8 Harald Welte 2005-11-13 447 }
c1986ee9bea3d8 Harald Welte 2005-11-13 448
:::::: The code at line 312 was first introduced by commit
:::::: c1986ee9bea3d880bcf0d3f1a31e055778f306c7 [PATCH] New Omnikey Cardman 4000 driver
:::::: TO: Harald Welte <laforge(a)gnumonks.org>
:::::: CC: Linus Torvalds <torvalds(a)g5.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
[sashal-linux-stable:queue-4.9 70/73] fs/f2fs/dir.c:852:17: error: 'sbi' undeclared
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git queue-4.9
head: 336aa408ceb69e212b36b6b48465803834751ef9
commit: ba8941abb6b348e53b7ad15d884f5f2aee9f959e [70/73] f2fs: check memory boundary by insane namelen
config: c6x-randconfig-r021-20200731 (attached as .config)
compiler: c6x-elf-gcc (GCC) 7.5.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout ba8941abb6b348e53b7ad15d884f5f2aee9f959e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=c6x
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
fs/f2fs/dir.c: In function 'f2fs_fill_dentries':
>> fs/f2fs/dir.c:852:17: error: 'sbi' undeclared (first use in this function)
set_sbi_flag(sbi, SBI_NEED_FSCK);
^~~
fs/f2fs/dir.c:852:17: note: each undeclared identifier is reported only once for each function it appears in
In file included from fs/f2fs/dir.c:13:0:
fs/f2fs/f2fs.h: In function '__mark_inode_dirty_flag':
fs/f2fs/f2fs.h:1636:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
if (set)
^
fs/f2fs/f2fs.h:1638:2: note: here
case FI_DATA_EXIST:
^~~~
vim +/sbi +852 fs/f2fs/dir.c
818
819 bool f2fs_fill_dentries(struct dir_context *ctx, struct f2fs_dentry_ptr *d,
820 unsigned int start_pos, struct fscrypt_str *fstr)
821 {
822 unsigned char d_type = DT_UNKNOWN;
823 unsigned int bit_pos;
824 struct f2fs_dir_entry *de = NULL;
825 struct fscrypt_str de_name = FSTR_INIT(NULL, 0);
826
827 bit_pos = ((unsigned long)ctx->pos % d->max);
828
829 while (bit_pos < d->max) {
830 bit_pos = find_next_bit_le(d->bitmap, d->max, bit_pos);
831 if (bit_pos >= d->max)
832 break;
833
834 de = &d->dentry[bit_pos];
835 if (de->name_len == 0) {
836 bit_pos++;
837 ctx->pos = start_pos + bit_pos;
838 continue;
839 }
840
841 d_type = get_de_type(de);
842
843 de_name.name = d->filename[bit_pos];
844 de_name.len = le16_to_cpu(de->name_len);
845
846 /* check memory boundary before moving forward */
847 bit_pos += GET_DENTRY_SLOTS(le16_to_cpu(de->name_len));
848 if (unlikely(bit_pos > d->max)) {
849 f2fs_msg(F2FS_I_SB(d->inode)->sb, KERN_WARNING,
850 "%s: corrupted namelen=%d, run fsck to fix.",
851 __func__, le16_to_cpu(de->name_len));
> 852 set_sbi_flag(sbi, SBI_NEED_FSCK);
853 return -EINVAL;
854 }
855
856 if (f2fs_encrypted_inode(d->inode)) {
857 int save_len = fstr->len;
858 int err;
859
860 err = fscrypt_fname_disk_to_usr(d->inode,
861 (u32)de->hash_code, 0,
862 &de_name, fstr);
863 if (err)
864 return true;
865
866 de_name = *fstr;
867 fstr->len = save_len;
868 }
869
870 if (!dir_emit(ctx, de_name.name, de_name.len,
871 le32_to_cpu(de->ino), d_type))
872 return true;
873
874 ctx->pos = start_pos + bit_pos;
875 }
876 return false;
877 }
878
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
[intel-linux-intel-lts:5.4/yocto 3/3] drivers/gpu/drm/hantro_driver/hantro.c:547:29: error: redefinition of 'virt_to_bus'
by kernel test robot
tree: https://github.com/intel/linux-intel-lts.git 5.4/yocto
head: b8b4b73e4f7bffe85610b37cef411bf55b60fbe4
commit: b8b4b73e4f7bffe85610b37cef411bf55b60fbe4 [3/3] drm: Add Keembay media codec driver
config: alpha-allyesconfig (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout b8b4b73e4f7bffe85610b37cef411bf55b60fbe4
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=alpha
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/gpu/drm/hantro_driver/hantro.c: In function 'hantro_gem_dumb_create_internal':
drivers/gpu/drm/hantro_driver/hantro.c:183:15: warning: variable 'out_size' set but not used [-Wunused-but-set-variable]
183 | int in_size, out_size;
| ^~~~~~~~
drivers/gpu/drm/hantro_driver/hantro.c: In function 'hantro_mmap':
drivers/gpu/drm/hantro_driver/hantro.c:416:22: warning: variable 'pscatter' set but not used [-Wunused-but-set-variable]
416 | struct scatterlist *pscatter = NULL;
| ^~~~~~~~
drivers/gpu/drm/hantro_driver/hantro.c: At top level:
>> drivers/gpu/drm/hantro_driver/hantro.c:547:29: error: redefinition of 'virt_to_bus'
547 | static inline unsigned long virt_to_bus(void *address)
| ^~~~~~~~~~~
In file included from include/linux/io.h:13,
from drivers/gpu/drm/hantro_driver/hantro.c:22:
arch/alpha/include/asm/io.h:110:42: note: previous definition of 'virt_to_bus' was here
110 | static inline unsigned long __deprecated virt_to_bus(void *address)
| ^~~~~~~~~~~
drivers/gpu/drm/hantro_driver/hantro.c:1509:6: warning: no previous prototype for 'hantro_gem_vm_close' [-Wmissing-prototypes]
1509 | void hantro_gem_vm_close(struct vm_area_struct *vma)
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/hantro_driver/hantro.c:1952:13: warning: no previous prototype for 'hantro_cleanup' [-Wmissing-prototypes]
1952 | void __exit hantro_cleanup(void)
| ^~~~~~~~~~~~~~
drivers/gpu/drm/hantro_driver/hantro.c:1974:12: warning: no previous prototype for 'hantro_init' [-Wmissing-prototypes]
1974 | int __init hantro_init(void)
| ^~~~~~~~~~~
drivers/gpu/drm/hantro_driver/hantro.c:1943:42: warning: 'hantro_platform_info' defined but not used [-Wunused-const-variable=]
1943 | static const struct platform_device_info hantro_platform_info = {
| ^~~~~~~~~~~~~~~~~~~~
vim +/virt_to_bus +547 drivers/gpu/drm/hantro_driver/hantro.c
545
546 #ifndef virt_to_bus
> 547 static inline unsigned long virt_to_bus(void *address)
548 {
549 return (unsigned long)address;
550 }
551 #endif
552 static struct sg_table *hantro_gem_prime_get_sg_table(
553 struct drm_gem_object *obj)
554 {
555 struct drm_gem_hantro_object *cma_obj = to_drm_gem_hantro_obj(obj);
556 struct sg_table *sgt;
557 int ret;
558
559 sgt = kzalloc(sizeof(*sgt), GFP_KERNEL);
560 if (!sgt)
561 return NULL;
562
563 if (cma_obj->ddr_channel == DDR0_CHANNEL)
564 ddr_dev = obj->dev->dev;
565 else if (cma_obj->ddr_channel == DDR1_CHANNEL)
566 ddr_dev = ddr1.dev;
567
568 ret = dma_get_sgtable(ddr_dev, sgt, cma_obj->vaddr,
569 cma_obj->paddr, obj->size);
570 if (ret < 0)
571 goto out;
572
573 return sgt;
574
575 out:
576 kfree(sgt);
577 return NULL;
578 }
579
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 11 months
[intel-linux-intel-lts:5.4/yocto 8691/8941] drivers/misc/xlink-pcie/local_host/mxlk_epf.c:392:2: error: 'strncpy' output truncated before terminating nul copying 8 bytes from a string of the same length
by kernel test robot
tree: https://github.com/intel/linux-intel-lts.git 5.4/yocto
head: 0194b1072920957ee8a7abdfb3ddebee69c1d485
commit: a555920fd85e2284ca3da21eb291af31fa5c42b7 [8691/8941] xlink-pcie: XLink PCIe Remote and Local Host driver
config: alpha-allyesconfig (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout a555920fd85e2284ca3da21eb291af31fa5c42b7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=alpha
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/misc/xlink-pcie/local_host/mxlk_epf.c:104:6: error: no previous prototype for 'mxlk_register_host_irq' [-Werror=missing-prototypes]
104 | void mxlk_register_host_irq(struct mxlk *mxlk, irq_handler_t func)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/misc/xlink-pcie/local_host/mxlk_epf.c:111:5: error: no previous prototype for 'mxlk_raise_irq' [-Werror=missing-prototypes]
111 | int mxlk_raise_irq(struct mxlk *mxlk, enum mxlk_doorbell_type type)
| ^~~~~~~~~~~~~~
drivers/misc/xlink-pcie/local_host/mxlk_epf.c:144:5: error: no previous prototype for 'mxlk_copy_from_host_ll' [-Werror=missing-prototypes]
144 | int mxlk_copy_from_host_ll(struct mxlk *mxlk, int chan, int descs_num)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/misc/xlink-pcie/local_host/mxlk_epf.c:152:5: error: no previous prototype for 'mxlk_copy_to_host_ll' [-Werror=missing-prototypes]
152 | int mxlk_copy_to_host_ll(struct mxlk *mxlk, int chan, int descs_num)
| ^~~~~~~~~~~~~~~~~~~~
drivers/misc/xlink-pcie/local_host/mxlk_epf.c: In function 'epf_bind':
drivers/misc/xlink-pcie/local_host/mxlk_epf.c:306:7: error: variable 'msi_capable' set but not used [-Werror=unused-but-set-variable]
306 | bool msi_capable = true;
| ^~~~~~~~~~~
>> drivers/misc/xlink-pcie/local_host/mxlk_epf.c:392:2: error: 'strncpy' output truncated before terminating nul copying 8 bytes from a string of the same length [-Werror=stringop-truncation]
392 | strncpy(mxlk_epf->mxlk.io_comm->magic, MXLK_BOOT_MAGIC_YOCTO,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
393 | strlen(MXLK_BOOT_MAGIC_YOCTO));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/misc/xlink-pcie/local_host/mxlk_epf.c:399:2: error: 'strncpy' output truncated before terminating nul copying 8 bytes from a string of the same length [-Werror=stringop-truncation]
399 | strncpy(mxlk_epf->mxlk.io_comm->magic, MXLK_BOOT_MAGIC_YOCTO,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
400 | strlen(MXLK_BOOT_MAGIC_YOCTO));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
--
drivers/misc/xlink-pcie/local_host/mxlk_inf.c: In function 'xlink_pcie_get_device_name':
>> drivers/misc/xlink-pcie/local_host/mxlk_inf.c:41:2: error: 'strncpy' output truncated copying between 0 and 13 bytes from a string of length 13 [-Werror=stringop-truncation]
41 | strncpy(device_name, MXLK_DRIVER_NAME, name_size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
vim +/strncpy +392 drivers/misc/xlink-pcie/local_host/mxlk_epf.c
297
298 static int epf_bind(struct pci_epf *epf)
299 {
300 struct pci_epc *epc = epf->epc;
301 struct mxlk_epf *mxlk_epf = epf_get_drvdata(epf);
302 struct dw_pcie_ep *ep = epc_get_drvdata(epc);
303 struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
304 struct keembay_pcie *keembay = to_keembay_pcie(pci);
305 const struct pci_epc_features *features;
306 bool msi_capable = true;
307 size_t align = 0;
308 int ret;
309 u32 bus_num = 0;
310 u32 dev_num = 0;
311
312 if (WARN_ON_ONCE(!epc))
313 return -EINVAL;
314
315 features = pci_epc_get_features(epc, epf->func_no);
316 mxlk_epf->epc_features = features;
317 if (features) {
318 msi_capable = features->msi_capable;
319 align = features->align;
320 ret = mxlk_configure_bar(epf, features);
321 if (ret)
322 return ret;
323 }
324
325 ret = mxlk_setup_bars(epf, align);
326 if (ret) {
327 dev_err(&epf->dev, "BAR initialization failed\n");
328 return ret;
329 }
330
331 mxlk_epf->irq = keembay->ev_irq;
332 mxlk_epf->irq_dma = keembay->irq;
333 mxlk_epf->irq_err = keembay->err_irq;
334 mxlk_epf->apb_base = keembay->apb_base;
335 if (!strcmp(keembay->stepping, "A0")) {
336 mxlk_epf->mxlk.legacy_a0 = true;
337 mxlk_epf->mxlk.mmio->legacy_a0 = 1;
338 } else {
339 mxlk_epf->mxlk.legacy_a0 = false;
340 mxlk_epf->mxlk.mmio->legacy_a0 = 0;
341 }
342
343 ret = mxlk_ep_dma_init(epf);
344 if (ret) {
345 dev_err(&epf->dev, "DMA initialization failed\n");
346 goto bind_error;
347 }
348
349 mxlk_set_device_status(&mxlk_epf->mxlk, MXLK_STATUS_READY);
350
351 ret = ioread32(mxlk_epf->apb_base + PCIE_REGS_PCIE_SYS_CFG_CORE);
352 bus_num = (ret >> PCIE_CFG_PBUS_NUM_OFFSET) & PCIE_CFG_PBUS_NUM_MASK;
353 dev_num = (ret >> PCIE_CFG_PBUS_DEV_NUM_OFFSET) &
354 PCIE_CFG_PBUS_DEV_NUM_MASK;
355
356 xlink_sw_id = (XLINK_DEV_INF_PCIE << XLINK_DEV_INF_TYPE_SHIFT) |
357 ((bus_num << 8 | dev_num) << XLINK_DEV_PHYS_ID_SHIFT) |
358 (XLINK_DEV_TYPE_KMB << XLINK_DEV_TYPE_SHIFT) |
359 (XLINK_DEV_SLICE_0 << XLINK_DEV_SLICE_ID_SHIFT) |
360 (XLINK_DEV_FUNC_VPU << XLINK_DEV_FUNC_SHIFT);
361
362 ret = mxlk_core_init(&mxlk_epf->mxlk);
363 if (ret) {
364 dev_err(&epf->dev, "Core component configuration failed\n");
365 goto bind_error;
366 }
367
368 /* Enable interrupt */
369 writel(LBC_CII_EVENT_FLAG,
370 mxlk_epf->apb_base + PCIE_REGS_PCIE_INTR_ENABLE);
371 ret = request_irq(mxlk_epf->irq, &mxlk_host_interrupt,
372 0, MXLK_DRIVER_NAME, &mxlk_epf->mxlk);
373 if (ret) {
374 dev_err(&epf->dev, "failed to request irq\n");
375 goto bind_error;
376 }
377
378 ret = request_irq(mxlk_epf->irq_err, &mxlk_err_interrupt, 0,
379 MXLK_DRIVER_NAME, &mxlk_epf->mxlk);
380 if (ret) {
381 dev_err(&epf->dev, "failed to request error irq\n");
382 free_irq(mxlk_epf->irq, &mxlk_epf->mxlk);
383 goto bind_error;
384 }
385
386 if (!mxlk_ep_dma_enabled(mxlk_epf->epf))
387 mxlk_ep_dma_reset(mxlk_epf->epf);
388
389 mxlk_epf->mxlk.mmio->host_status = MXLK_STATUS_UNINIT;
390 mxlk_set_device_status(&mxlk_epf->mxlk, MXLK_STATUS_RUN);
391 mxlk_set_doorbell(&mxlk_epf->mxlk, FROM_DEVICE, DEV_EVENT, NO_OP);
> 392 strncpy(mxlk_epf->mxlk.io_comm->magic, MXLK_BOOT_MAGIC_YOCTO,
393 strlen(MXLK_BOOT_MAGIC_YOCTO));
394
395 return 0;
396
397 bind_error:
398 mxlk_set_device_status(&mxlk_epf->mxlk, MXLK_STATUS_ERROR);
399 strncpy(mxlk_epf->mxlk.io_comm->magic, MXLK_BOOT_MAGIC_YOCTO,
400 strlen(MXLK_BOOT_MAGIC_YOCTO));
401
402 return ret;
403 }
404
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 11 months