Hi Krishna, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on char-misc/char-misc-testing] [also build test WARNING on char-misc/char-misc-next char-misc/char-misc-linus broonie-spi/for-next robh/for-next linus/master v6.2-rc6 next-20230203] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Krishna-Yarlagadda/dt-bindings-tpm-Add-compatible-for-Tegra-TPM/20230203-210314 patch link: https://lore.kernel.org/r/20230203130133.32901-3-kyarlagadda%40nvidia.com patch subject: [Patch V2 2/4] tpm: tegra: Support SPI tpm wait state detect config: loongarch-buildonly-randconfig-r003-20230204 (https://download.01.org/0day-ci/archive/20230204/202302041737.v2JywR8Y-lkp@xxxxxxxxx/config) compiler: loongarch64-linux-gcc (GCC) 12.1.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://github.com/intel-lab-lkp/linux/commit/825363f7e8d0d426c45bbba6cb3c5d9b79b7e6aa git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Krishna-Yarlagadda/dt-bindings-tpm-Add-compatible-for-Tegra-TPM/20230203-210314 git checkout 825363f7e8d0d426c45bbba6cb3c5d9b79b7e6aa # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=loongarch olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=loongarch SHELL=/bin/bash drivers/char/tpm/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): >> drivers/char/tpm/tpm_tis_spi_tegra.c:23:5: warning: no previous prototype for 'tpm_tis_spi_tegra_transfer' [-Wmissing-prototypes] 23 | int tpm_tis_spi_tegra_transfer(struct tpm_tis_data *data, u32 addr, u16 len, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ vim +/tpm_tis_spi_tegra_transfer +23 drivers/char/tpm/tpm_tis_spi_tegra.c 22 > 23 int tpm_tis_spi_tegra_transfer(struct tpm_tis_data *data, u32 addr, u16 len, 24 u8 *in, const u8 *out) 25 { 26 struct tpm_tis_spi_phy *phy = to_tpm_tis_spi_phy(data); 27 int ret = 0; 28 struct spi_message m; 29 struct spi_transfer spi_xfer[3]; 30 u8 transfer_len; 31 32 spi_bus_lock(phy->spi_device->master); 33 34 while (len) { 35 transfer_len = min_t(u16, len, MAX_SPI_FRAMESIZE); 36 37 spi_message_init(&m); 38 phy->iobuf[0] = (in ? 0x80 : 0) | (transfer_len - 1); 39 phy->iobuf[1] = 0xd4; 40 phy->iobuf[2] = addr >> 8; 41 phy->iobuf[3] = addr; 42 43 memset(&spi_xfer, 0, sizeof(spi_xfer)); 44 45 spi_xfer[0].tx_buf = phy->iobuf; 46 spi_xfer[0].len = 1; 47 spi_message_add_tail(&spi_xfer[0], &m); 48 49 spi_xfer[1].tx_buf = phy->iobuf + 1; 50 spi_xfer[1].len = 3; 51 spi_message_add_tail(&spi_xfer[1], &m); 52 53 if (out) { 54 spi_xfer[2].tx_buf = &phy->iobuf[4]; 55 spi_xfer[2].rx_buf = NULL; 56 memcpy(&phy->iobuf[4], out, transfer_len); 57 out += transfer_len; 58 } 59 if (in) { 60 spi_xfer[2].tx_buf = NULL; 61 spi_xfer[2].rx_buf = &phy->iobuf[4]; 62 } 63 spi_xfer[2].len = transfer_len; 64 spi_message_add_tail(&spi_xfer[2], &m); 65 66 reinit_completion(&phy->ready); 67 ret = spi_sync_locked(phy->spi_device, &m); 68 if (ret < 0) 69 goto exit; 70 71 if (in) { 72 memcpy(in, &phy->iobuf[4], transfer_len); 73 in += transfer_len; 74 } 75 76 len -= transfer_len; 77 } 78 79 exit: 80 spi_bus_unlock(phy->spi_device->master); 81 return ret; 82 } 83 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests