Messages in this thread | | | Date | Sun, 10 Apr 2022 01:43:19 +0800 | From | kernel test robot <> | Subject | [jarkko-tpmdd:master 3/3] drivers/char/tpm/tpm_tis_synquacer.c:89:26: warning: passing argument 1 of 'iowrite8' makes integer from pointer without a cast |
| |
tree: git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git master head: b6e0cdb87bf37357489de1069d55bd59f008daeb commit: b6e0cdb87bf37357489de1069d55bd59f008daeb [3/3] tpm: Remove read16/read32/write32 calls from tpm_tis_phy_ops config: parisc-allmodconfig (https://download.01.org/0day-ci/archive/20220410/202204100146.Ej10FNcI-lkp@intel.com/config) compiler: hppa-linux-gcc (GCC) 11.2.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 # https://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git/commit/?id=b6e0cdb87bf37357489de1069d55bd59f008daeb git remote add jarkko-tpmdd git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git git fetch --no-tags jarkko-tpmdd master git checkout b6e0cdb87bf37357489de1069d55bd59f008daeb # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=parisc SHELL=/bin/bash drivers/char/tpm/
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
drivers/char/tpm/tpm_tis_synquacer.c: In function 'tpm_tis_synquacer_read_bytes': drivers/char/tpm/tpm_tis_synquacer.c:45:13: warning: unused variable 'result32' [-Wunused-variable] 45 | u32 result32; | ^~~~~~~~ drivers/char/tpm/tpm_tis_synquacer.c:44:13: warning: unused variable 'result16' [-Wunused-variable] 44 | u16 result16; | ^~~~~~~~ drivers/char/tpm/tpm_tis_synquacer.c:43:16: warning: unused variable 'result_le32' [-Wunused-variable] 43 | __le32 result_le32; | ^~~~~~~~~~~ drivers/char/tpm/tpm_tis_synquacer.c:42:16: warning: unused variable 'result_le16' [-Wunused-variable] 42 | __le16 result_le16; | ^~~~~~~~~~~ drivers/char/tpm/tpm_tis_synquacer.c: In function 'tpm_tis_synquacer_write_bytes': >> drivers/char/tpm/tpm_tis_synquacer.c:89:26: warning: passing argument 1 of 'iowrite8' makes integer from pointer without a cast [-Wint-conversion] 89 | iowrite8(&value[3], phy->iobase + addr + 3); | ^~~~~~~~~ | | | const u8 * {aka const unsigned char *} In file included from arch/parisc/include/asm/io.h:311, from include/linux/io.h:13, from drivers/char/tpm/tpm.h:26, from drivers/char/tpm/tpm_tis_synquacer.c:14: include/asm-generic/iomap.h:50:22: note: expected 'u8' {aka 'unsigned char'} but argument is of type 'const u8 *' {aka 'const unsigned char *'} 50 | extern void iowrite8(u8, void __iomem *); | ^~ drivers/char/tpm/tpm_tis_synquacer.c:90:26: warning: passing argument 1 of 'iowrite8' makes integer from pointer without a cast [-Wint-conversion] 90 | iowrite8(&value[2], phy->iobase + addr + 2); | ^~~~~~~~~ | | | const u8 * {aka const unsigned char *} In file included from arch/parisc/include/asm/io.h:311, from include/linux/io.h:13, from drivers/char/tpm/tpm.h:26, from drivers/char/tpm/tpm_tis_synquacer.c:14: include/asm-generic/iomap.h:50:22: note: expected 'u8' {aka 'unsigned char'} but argument is of type 'const u8 *' {aka 'const unsigned char *'} 50 | extern void iowrite8(u8, void __iomem *); | ^~ drivers/char/tpm/tpm_tis_synquacer.c:91:26: warning: passing argument 1 of 'iowrite8' makes integer from pointer without a cast [-Wint-conversion] 91 | iowrite8(&value[1], phy->iobase + addr + 1); | ^~~~~~~~~ | | | const u8 * {aka const unsigned char *} In file included from arch/parisc/include/asm/io.h:311, from include/linux/io.h:13, from drivers/char/tpm/tpm.h:26, from drivers/char/tpm/tpm_tis_synquacer.c:14: include/asm-generic/iomap.h:50:22: note: expected 'u8' {aka 'unsigned char'} but argument is of type 'const u8 *' {aka 'const unsigned char *'} 50 | extern void iowrite8(u8, void __iomem *); | ^~ drivers/char/tpm/tpm_tis_synquacer.c:92:26: warning: passing argument 1 of 'iowrite8' makes integer from pointer without a cast [-Wint-conversion] 92 | iowrite8(&value[0], phy->iobase + addr); | ^~~~~~~~~ | | | const u8 * {aka const unsigned char *} In file included from arch/parisc/include/asm/io.h:311, from include/linux/io.h:13, from drivers/char/tpm/tpm.h:26, from drivers/char/tpm/tpm_tis_synquacer.c:14: include/asm-generic/iomap.h:50:22: note: expected 'u8' {aka 'unsigned char'} but argument is of type 'const u8 *' {aka 'const unsigned char *'} 50 | extern void iowrite8(u8, void __iomem *); | ^~ drivers/char/tpm/tpm_tis_synquacer.c:75:13: warning: unused variable 'result32' [-Wunused-variable] 75 | u32 result32; | ^~~~~~~~ drivers/char/tpm/tpm_tis_synquacer.c:74:13: warning: unused variable 'result16' [-Wunused-variable] 74 | u16 result16; | ^~~~~~~~ drivers/char/tpm/tpm_tis_synquacer.c:73:16: warning: unused variable 'result_le32' [-Wunused-variable] 73 | __le32 result_le32; | ^~~~~~~~~~~ drivers/char/tpm/tpm_tis_synquacer.c:72:16: warning: unused variable 'result_le16' [-Wunused-variable] 72 | __le16 result_le16; | ^~~~~~~~~~~
vim +/iowrite8 +89 drivers/char/tpm/tpm_tis_synquacer.c
36 37 static int tpm_tis_synquacer_read_bytes(struct tpm_tis_data *data, u32 addr, 38 u16 len, u8 *result, 39 enum tpm_tis_io_mode io_mode) 40 { 41 struct tpm_tis_synquacer_phy *phy = to_tpm_tis_tcg_phy(data); 42 __le16 result_le16; > 43 __le32 result_le32; 44 u16 result16; 45 u32 result32; 46 47 switch (io_mode) { 48 case TPM_TIS_PHYS_8: 49 while (len--) 50 *result++ = ioread8(phy->iobase + addr); 51 break; 52 case TPM_TIS_PHYS_16: 53 result[1] = ioread8(phy->iobase + addr + 1); 54 result[0] = ioread8(phy->iobase + addr); 55 break; 56 case TPM_TIS_PHYS_32: 57 result[3] = ioread8(phy->iobase + addr + 3); 58 result[2] = ioread8(phy->iobase + addr + 2); 59 result[1] = ioread8(phy->iobase + addr + 1); 60 result[0] = ioread8(phy->iobase + addr); 61 break; 62 } 63 64 return 0; 65 } 66 67 static int tpm_tis_synquacer_write_bytes(struct tpm_tis_data *data, u32 addr, 68 u16 len, const u8 *value, 69 enum tpm_tis_io_mode io_mode) 70 { 71 struct tpm_tis_synquacer_phy *phy = to_tpm_tis_tcg_phy(data); 72 __le16 result_le16; 73 __le32 result_le32; 74 u16 result16; 75 u32 result32; 76 77 switch (io_mode) { 78 case TPM_TIS_PHYS_8: 79 while (len--) 80 iowrite8(*value++, phy->iobase + addr); 81 break; 82 case TPM_TIS_PHYS_16: 83 return -EINVAL; 84 case TPM_TIS_PHYS_32: 85 /* 86 * Due to the limitation of SPI controller on SynQuacer, 87 * 16/32 bits access must be done in byte-wise and descending order. 88 */ > 89 iowrite8(&value[3], phy->iobase + addr + 3); 90 iowrite8(&value[2], phy->iobase + addr + 2); 91 iowrite8(&value[1], phy->iobase + addr + 1); 92 iowrite8(&value[0], phy->iobase + addr); 93 break; 94 } 95 96 return 0; 97 } 98
-- 0-DAY CI Kernel Test Service https://01.org/lkp
| |