Hi Andrew,
kernel test robot noticed the following build warnings:
[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 soc/for-next pza/reset/next linus/master v6.3-rc5 next-20230403] [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/Andrew-Davis/misc-sram-Add-DM... patch link: https://lore.kernel.org/r/20230403192433.26648-1-afd%40ti.com patch subject: [PATCH v2] misc: sram: Add DMA-BUF Heap exporting of SRAM areas config: loongarch-allyesconfig (https://download.01.org/0day-ci/archive/20230404/202304041144.t5JCOGsE-lkp@i...) 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/6fcaa3c7cfbc144dd982f9abaa1c5a... git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Andrew-Davis/misc-sram-Add-DMA-BUF-Heap-exporting-of-SRAM-areas/20230404-032607 git checkout 6fcaa3c7cfbc144dd982f9abaa1c5af50dde24a8 # 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/
If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot lkp@intel.com | Link: https://lore.kernel.org/oe-kbuild-all/202304041144.t5JCOGsE-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/misc/sram-dma-heap.c:161:17: warning: no previous prototype for 'sram_dma_heap_allocate' [-Wmissing-prototypes]
161 | struct dma_buf *sram_dma_heap_allocate(struct dma_heap *heap, | ^~~~~~~~~~~~~~~~~~~~~~
vim +/sram_dma_heap_allocate +161 drivers/misc/sram-dma-heap.c
160
161 struct dma_buf *sram_dma_heap_allocate(struct dma_heap *heap,
162 unsigned long len, 163 unsigned long fd_flags, 164 unsigned long heap_flags) 165 { 166 struct sram_dma_heap *sram_dma_heap = dma_heap_get_drvdata(heap); 167 struct sram_dma_heap_buffer *buffer; 168 169 DEFINE_DMA_BUF_EXPORT_INFO(exp_info); 170 struct dma_buf *dmabuf; 171 int ret; 172 173 buffer = kzalloc(sizeof(*buffer), GFP_KERNEL); 174 if (!buffer) 175 return ERR_PTR(-ENOMEM); 176 buffer->pool = sram_dma_heap->pool; 177 INIT_LIST_HEAD(&buffer->attachments); 178 mutex_init(&buffer->attachments_lock); 179 buffer->len = len; 180 181 buffer->vaddr = (void *)gen_pool_alloc(buffer->pool, buffer->len); 182 if (!buffer->vaddr) { 183 ret = -ENOMEM; 184 goto free_buffer; 185 } 186 187 buffer->paddr = gen_pool_virt_to_phys(buffer->pool, (unsigned long)buffer->vaddr); 188 if (buffer->paddr == -1) { 189 ret = -ENOMEM; 190 goto free_pool; 191 } 192 193 /* create the dmabuf */ 194 exp_info.exp_name = dma_heap_get_name(heap); 195 exp_info.ops = &sram_dma_heap_buf_ops; 196 exp_info.size = buffer->len; 197 exp_info.flags = fd_flags; 198 exp_info.priv = buffer; 199 dmabuf = dma_buf_export(&exp_info); 200 if (IS_ERR(dmabuf)) { 201 ret = PTR_ERR(dmabuf); 202 goto free_pool; 203 } 204 205 return dmabuf; 206 207 free_pool: 208 gen_pool_free(buffer->pool, (unsigned long)buffer->vaddr, buffer->len); 209 free_buffer: 210 kfree(buffer); 211 212 return ERR_PTR(ret); 213 } 214