All of lore.kernel.org
 help / color / mirror / Atom feed
* [hch-misc:dma_alloc_pages 17/17] kernel/dma/mapping.c:512:9: error: implicit declaration of function 'dma_alloc_contiguous'
@ 2020-08-17 20:57 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2020-08-17 20:57 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 4768 bytes --]

tree:   git://git.infradead.org/users/hch/misc.git dma_alloc_pages
head:   ebfa77e612f8650cb120011030b7a9e951ebee56
commit: ebfa77e612f8650cb120011030b7a9e951ebee56 [17/17] dma-mapping: replace DMA_ATTR_NON_CONSISTENT with dma_{alloc,free}_pages
config: powerpc-randconfig-r021-20200817 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project de71b46a519db014ce906a39f8a0e1b235ef1568)
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
        # install powerpc cross compiling tool for clang build
        # apt-get install binutils-powerpc-linux-gnu
        git checkout ebfa77e612f8650cb120011030b7a9e951ebee56
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

>> kernel/dma/mapping.c:512:9: error: implicit declaration of function 'dma_alloc_contiguous' [-Werror,-Wimplicit-function-declaration]
           page = dma_alloc_contiguous(dev, size, gfp | __GFP_ZERO);
                  ^
>> kernel/dma/mapping.c:512:7: warning: incompatible integer to pointer conversion assigning to 'struct page *' from 'int' [-Wint-conversion]
           page = dma_alloc_contiguous(dev, size, gfp | __GFP_ZERO);
                ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/dma/mapping.c:518:3: error: implicit declaration of function 'dma_free_contiguous' [-Werror,-Wimplicit-function-declaration]
                   dma_free_contiguous(dev, page, size);
                   ^
   kernel/dma/mapping.c:518:3: note: did you mean 'dma_alloc_contiguous'?
   kernel/dma/mapping.c:512:9: note: 'dma_alloc_contiguous' declared here
           page = dma_alloc_contiguous(dev, size, gfp | __GFP_ZERO);
                  ^
>> kernel/dma/mapping.c:540:11: warning: variable 'vaddr' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
           else if (ops->alloc_pages)
                    ^~~~~~~~~~~~~~~~
   kernel/dma/mapping.c:545:9: note: uninitialized use occurs here
           return vaddr;
                  ^~~~~
   kernel/dma/mapping.c:540:7: note: remove the 'if' if its condition is always true
           else if (ops->alloc_pages)
                ^~~~~~~~~~~~~~~~~~~~~
   kernel/dma/mapping.c:529:13: note: initialize the variable 'vaddr' to silence this warning
           void *vaddr;
                      ^
                       = NULL
   kernel/dma/mapping.c:554:2: error: implicit declaration of function 'dma_free_contiguous' [-Werror,-Wimplicit-function-declaration]
           dma_free_contiguous(dev, virt_to_page(vaddr), size);
           ^
   2 warnings and 3 errors generated.

git remote add hch-misc git://git.infradead.org/users/hch/misc.git
git fetch --no-tags hch-misc dma_alloc_pages
git checkout ebfa77e612f8650cb120011030b7a9e951ebee56
vim +/dma_alloc_contiguous +512 kernel/dma/mapping.c

   506	
   507	static void *dma_simple_alloc_pages(struct device *dev, size_t size,
   508			dma_addr_t *dma_handle, gfp_t gfp)
   509	{
   510		struct page *page;
   511	
 > 512		page = dma_alloc_contiguous(dev, size, gfp | __GFP_ZERO);
   513		if (!page)
   514			return NULL;
   515		*dma_handle = dma_map_page_attrs(dev, page, 0, size, DMA_BIDIRECTIONAL,
   516						 DMA_ATTR_SKIP_CPU_SYNC);
   517		if (dma_mapping_error(dev, *dma_handle)) {
 > 518			dma_free_contiguous(dev, page, size);
   519			return NULL;
   520		}
   521	
   522		return page_address(page);
   523	}
   524	
   525	void *dma_alloc_pages(struct device *dev, size_t size, dma_addr_t *dma_handle,
   526			gfp_t gfp)
   527	{
   528		const struct dma_map_ops *ops = get_dma_ops(dev);
   529		void *vaddr;
   530	
   531		if (WARN_ON_ONCE(!dev->coherent_dma_mask))
   532			return NULL;
   533		if (WARN_ON_ONCE(gfp & (__GFP_DMA | __GFP_DMA32 | __GFP_HIGHMEM |
   534				__GFP_COMP)))
   535			return NULL;
   536	
   537		size = PAGE_ALIGN(size);
   538		if (dma_alloc_direct(dev, ops))
   539			vaddr = dma_direct_alloc_pages(dev, size, dma_handle, gfp);
 > 540		else if (ops->alloc_pages)
   541			vaddr = ops->alloc_pages(dev, size, dma_handle, gfp);
   542		else
   543			dma_simple_alloc_pages(dev, size, dma_handle, gfp);
   544	
   545		return vaddr;
   546	}
   547	EXPORT_SYMBOL_GPL(dma_alloc_pages);
   548	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 29900 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [hch-misc:dma_alloc_pages 17/17] kernel/dma/mapping.c:512:9: error: implicit declaration of function 'dma_alloc_contiguous'
@ 2020-08-17 19:16 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2020-08-17 19:16 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 2730 bytes --]

tree:   git://git.infradead.org/users/hch/misc.git dma_alloc_pages
head:   ebfa77e612f8650cb120011030b7a9e951ebee56
commit: ebfa77e612f8650cb120011030b7a9e951ebee56 [17/17] dma-mapping: replace DMA_ATTR_NON_CONSISTENT with dma_{alloc,free}_pages
config: h8300-randconfig-r006-20200817 (attached as .config)
compiler: h8300-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
        git checkout ebfa77e612f8650cb120011030b7a9e951ebee56
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=h8300 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

   kernel/dma/mapping.c: In function 'dma_simple_alloc_pages':
>> kernel/dma/mapping.c:512:9: error: implicit declaration of function 'dma_alloc_contiguous' [-Werror=implicit-function-declaration]
     512 |  page = dma_alloc_contiguous(dev, size, gfp | __GFP_ZERO);
         |         ^~~~~~~~~~~~~~~~~~~~
>> kernel/dma/mapping.c:512:7: warning: assignment to 'struct page *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     512 |  page = dma_alloc_contiguous(dev, size, gfp | __GFP_ZERO);
         |       ^
>> kernel/dma/mapping.c:518:3: error: implicit declaration of function 'dma_free_contiguous'; did you mean 'set_zone_contiguous'? [-Werror=implicit-function-declaration]
     518 |   dma_free_contiguous(dev, page, size);
         |   ^~~~~~~~~~~~~~~~~~~
         |   set_zone_contiguous
   cc1: some warnings being treated as errors

git remote add hch-misc git://git.infradead.org/users/hch/misc.git
git fetch --no-tags hch-misc dma_alloc_pages
git checkout ebfa77e612f8650cb120011030b7a9e951ebee56
vim +/dma_alloc_contiguous +512 kernel/dma/mapping.c

   506	
   507	static void *dma_simple_alloc_pages(struct device *dev, size_t size,
   508			dma_addr_t *dma_handle, gfp_t gfp)
   509	{
   510		struct page *page;
   511	
 > 512		page = dma_alloc_contiguous(dev, size, gfp | __GFP_ZERO);
   513		if (!page)
   514			return NULL;
   515		*dma_handle = dma_map_page_attrs(dev, page, 0, size, DMA_BIDIRECTIONAL,
   516						 DMA_ATTR_SKIP_CPU_SYNC);
   517		if (dma_mapping_error(dev, *dma_handle)) {
 > 518			dma_free_contiguous(dev, page, size);
   519			return NULL;
   520		}
   521	
   522		return page_address(page);
   523	}
   524	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 26235 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-08-17 20:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-17 20:57 [hch-misc:dma_alloc_pages 17/17] kernel/dma/mapping.c:512:9: error: implicit declaration of function 'dma_alloc_contiguous' kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2020-08-17 19:16 kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.