Messages in this thread | | | Date | Tue, 22 Mar 2022 10:16:11 +0200 | From | Jarkko Sakkinen <> | Subject | Re: [jarkko-tpmdd:master 27/27] |
| |
On Tue, Mar 22, 2022 at 02:41:43PM +0800, kernel test robot wrote: > tree: git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git master > head: a536629ef32d127d26f3886f1fd480708fd5ac20 > commit: a536629ef32d127d26f3886f1fd480708fd5ac20 [27/27] tpm: Remove read16/read32/write32 calls from tpm_tis_phy_ops > config: csky-randconfig-s032-20220321 (https://download.01.org/0day-ci/archive/20220322/202203221451.saNVXUZx-lkp@intel.com/config) > compiler: csky-linux-gcc (GCC) 11.2.0 > reproduce: > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # apt-get install sparse > # sparse version: v0.6.4-dirty > # https://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git/commit/?id=a536629ef32d127d26f3886f1fd480708fd5ac20 > 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 a536629ef32d127d26f3886f1fd480708fd5ac20 > # save the config file to linux build tree > mkdir build_dir > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=csky 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> > > > sparse warnings: (new ones prefixed by >>) > >> drivers/char/tpm/tpm_tis_synquacer.c:89:32: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned char [usertype] value @@ got unsigned char const [usertype] * @@ > drivers/char/tpm/tpm_tis_synquacer.c:89:32: sparse: expected unsigned char [usertype] value > drivers/char/tpm/tpm_tis_synquacer.c:89:32: sparse: got unsigned char const [usertype] * > drivers/char/tpm/tpm_tis_synquacer.c:90:32: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned char [usertype] value @@ got unsigned char const [usertype] * @@ > drivers/char/tpm/tpm_tis_synquacer.c:90:32: sparse: expected unsigned char [usertype] value > drivers/char/tpm/tpm_tis_synquacer.c:90:32: sparse: got unsigned char const [usertype] * > drivers/char/tpm/tpm_tis_synquacer.c:91:32: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned char [usertype] value @@ got unsigned char const [usertype] * @@ > drivers/char/tpm/tpm_tis_synquacer.c:91:32: sparse: expected unsigned char [usertype] value > drivers/char/tpm/tpm_tis_synquacer.c:91:32: sparse: got unsigned char const [usertype] * > drivers/char/tpm/tpm_tis_synquacer.c:92:32: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned char [usertype] value @@ got unsigned char const [usertype] * @@ > drivers/char/tpm/tpm_tis_synquacer.c:92:32: sparse: expected unsigned char [usertype] value > drivers/char/tpm/tpm_tis_synquacer.c:92:32: sparse: got unsigned char const [usertype] * > >> drivers/char/tpm/tpm_tis_synquacer.c:89:33: sparse: sparse: non size-preserving pointer to integer cast > drivers/char/tpm/tpm_tis_synquacer.c:90:33: sparse: sparse: non size-preserving pointer to integer cast > drivers/char/tpm/tpm_tis_synquacer.c:91:33: sparse: sparse: non size-preserving pointer to integer cast > drivers/char/tpm/tpm_tis_synquacer.c:92:33: sparse: sparse: non size-preserving pointer to integer cast > > vim +89 drivers/char/tpm/tpm_tis_synquacer.c > > 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
Johannes, I'll drop your patch, please send a new one with the sparse error fixed.
BR, Jarkko
| |