Hi Bjorn, I love your patch! Perhaps something to improve: [auto build test WARNING on next-20200526] [also build test WARNING on v5.7-rc7] [cannot apply to robh/for-next linus/master agross-msm/qcom/for-next remoteproc/for-next rpmsg/for-next hwspinlock/for-next v5.7-rc7 v5.7-rc6 v5.7-rc5] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Bjorn-Andersson/remoteproc-qcom-PIL-info-support/20200527-135911 base: b0523c7b1c9d0edcd6c0fe6d2cb558a9ad5c60a8 config: arm64-allyesconfig (attached as .config) compiler: aarch64-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 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64 If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot All warnings (new ones prefixed by >>, old ones prefixed by <<): >> drivers/remoteproc/qcom_pil_info.c:69:5: warning: no previous prototype for 'qcom_pil_info_store' [-Wmissing-prototypes] 69 | int qcom_pil_info_store(const char *image, phys_addr_t base, size_t size) | ^~~~~~~~~~~~~~~~~~~ vim +/qcom_pil_info_store +69 drivers/remoteproc/qcom_pil_info.c 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 60 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 61 /** 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 62 * qcom_pil_info_store() - store PIL information of image in IMEM 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 63 * @image: name of the image 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 64 * @base: base address of the loaded image 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 65 * @size: size of the loaded image 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 66 * 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 67 * Return: 0 on success, negative errno on failure 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 68 */ 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 @69 int qcom_pil_info_store(const char *image, phys_addr_t base, size_t size) 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 70 { 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 71 char buf[PIL_RELOC_NAME_LEN]; 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 72 void __iomem *entry; 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 73 int ret; 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 74 int i; 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 75 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 76 mutex_lock(&reloc_mutex); 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 77 ret = qcom_pil_info_init(); 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 78 if (ret < 0) { 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 79 mutex_unlock(&reloc_mutex); 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 80 return ret; 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 81 } 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 82 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 83 for (i = 0; i < _reloc.num_entries; i++) { 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 84 entry = _reloc.base + i * sizeof(struct pil_reloc_entry); 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 85 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 86 memcpy_fromio(buf, entry, PIL_RELOC_NAME_LEN); 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 87 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 88 /* 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 89 * An empty record means we didn't find it, given that the 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 90 * records are packed. 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 91 */ 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 92 if (!buf[0]) 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 93 goto found_unused; 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 94 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 95 if (!strncmp(buf, image, PIL_RELOC_NAME_LEN)) 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 96 goto found_existing; 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 97 } 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 98 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 99 pr_warn("insufficient PIL info slots\n"); 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 100 mutex_unlock(&reloc_mutex); 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 101 return -ENOMEM; 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 102 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 103 found_unused: 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 104 memcpy_toio(entry, image, PIL_RELOC_NAME_LEN); 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 105 found_existing: 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 106 writel(base, entry + offsetof(struct pil_reloc_entry, base)); 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 107 writel(size, entry + offsetof(struct pil_reloc_entry, size)); 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 108 mutex_unlock(&reloc_mutex); 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 109 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 110 return 0; 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 111 } 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 112 EXPORT_SYMBOL_GPL(qcom_pil_info_store); 41d96cc2fee2c1 Bjorn Andersson 2020-05-26 113 :::::: The code at line 69 was first introduced by commit :::::: 41d96cc2fee2c1143685357ad2929be0a7cf5d0f remoteproc: qcom: Introduce helper to store pil info in IMEM :::::: TO: Bjorn Andersson :::::: CC: 0day robot --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org