All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [android-common:android-4.19 1/4] drivers/staging/android/ion/ion_system_heap.c:292:5: warning: no previous prototype for function 'ion_system_heap_create'
Date: Wed, 18 Nov 2020 20:59:03 +0800	[thread overview]
Message-ID: <202011182001.XxnaXM4Y-lkp@intel.com> (raw)

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

tree:   https://android.googlesource.com/kernel/common android-4.19
head:   983e2cdf34d065dd89e93bd096a76994b29aebcd
commit: f64a8b79c0e85440319136ed928f22ed37481742 [1/4] ANDROID: staging: android: ion: enable modularizing the ion driver
config: x86_64-randconfig-a015-20201118 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project b2613fb2f0f53691dd0211895afbb9413457fca7)
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 x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        git remote add android-common https://android.googlesource.com/kernel/common
        git fetch --no-tags android-common android-4.19
        git checkout f64a8b79c0e85440319136ed928f22ed37481742
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

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

All warnings (new ones prefixed by >>):

>> drivers/staging/android/ion/ion_system_heap.c:292:5: warning: no previous prototype for function 'ion_system_heap_create' [-Wmissing-prototypes]
   int ion_system_heap_create(void)
       ^
   drivers/staging/android/ion/ion_system_heap.c:292:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int ion_system_heap_create(void)
   ^
   static 
>> drivers/staging/android/ion/ion_system_heap.c:385:5: warning: no previous prototype for function 'ion_system_contig_heap_create' [-Wmissing-prototypes]
   int ion_system_contig_heap_create(void)
       ^
   drivers/staging/android/ion/ion_system_heap.c:385:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int ion_system_contig_heap_create(void)
   ^
   static 
   2 warnings generated.

vim +/ion_system_heap_create +292 drivers/staging/android/ion/ion_system_heap.c

   291	
 > 292	int ion_system_heap_create(void)
   293	{
   294		struct ion_heap *heap;
   295	
   296		heap = __ion_system_heap_create();
   297		if (IS_ERR(heap))
   298			return PTR_ERR(heap);
   299		heap->name = "ion_system_heap";
   300	
   301		ion_device_add_heap(heap);
   302		return 0;
   303	}
   304	
   305	static int ion_system_contig_heap_allocate(struct ion_heap *heap,
   306						   struct ion_buffer *buffer,
   307						   unsigned long len,
   308						   unsigned long flags)
   309	{
   310		int order = get_order(len);
   311		struct page *page;
   312		struct sg_table *table;
   313		unsigned long i;
   314		int ret;
   315	
   316		page = alloc_pages(low_order_gfp_flags | __GFP_NOWARN, order);
   317		if (!page)
   318			return -ENOMEM;
   319	
   320		split_page(page, order);
   321	
   322		len = PAGE_ALIGN(len);
   323		for (i = len >> PAGE_SHIFT; i < (1 << order); i++)
   324			__free_page(page + i);
   325	
   326		table = kmalloc(sizeof(*table), GFP_KERNEL);
   327		if (!table) {
   328			ret = -ENOMEM;
   329			goto free_pages;
   330		}
   331	
   332		ret = sg_alloc_table(table, 1, GFP_KERNEL);
   333		if (ret)
   334			goto free_table;
   335	
   336		sg_set_page(table->sgl, page, len, 0);
   337	
   338		buffer->sg_table = table;
   339	
   340		return 0;
   341	
   342	free_table:
   343		kfree(table);
   344	free_pages:
   345		for (i = 0; i < len >> PAGE_SHIFT; i++)
   346			__free_page(page + i);
   347	
   348		return ret;
   349	}
   350	
   351	static void ion_system_contig_heap_free(struct ion_buffer *buffer)
   352	{
   353		struct sg_table *table = buffer->sg_table;
   354		struct page *page = sg_page(table->sgl);
   355		unsigned long pages = PAGE_ALIGN(buffer->size) >> PAGE_SHIFT;
   356		unsigned long i;
   357	
   358		for (i = 0; i < pages; i++)
   359			__free_page(page + i);
   360		sg_free_table(table);
   361		kfree(table);
   362	}
   363	
   364	static struct ion_heap_ops kmalloc_ops = {
   365		.allocate = ion_system_contig_heap_allocate,
   366		.free = ion_system_contig_heap_free,
   367		.map_kernel = ion_heap_map_kernel,
   368		.unmap_kernel = ion_heap_unmap_kernel,
   369		.map_user = ion_heap_map_user,
   370	};
   371	
   372	static struct ion_heap *__ion_system_contig_heap_create(void)
   373	{
   374		struct ion_heap *heap;
   375	
   376		heap = kzalloc(sizeof(*heap), GFP_KERNEL);
   377		if (!heap)
   378			return ERR_PTR(-ENOMEM);
   379		heap->ops = &kmalloc_ops;
   380		heap->type = ION_HEAP_TYPE_SYSTEM_CONTIG;
   381		heap->name = "ion_system_contig_heap";
   382		return heap;
   383	}
   384	
 > 385	int ion_system_contig_heap_create(void)
   386	{
   387		struct ion_heap *heap;
   388	
   389		heap = __ion_system_contig_heap_create();
   390		if (IS_ERR(heap))
   391			return PTR_ERR(heap);
   392	
   393		ion_device_add_heap(heap);
   394		return 0;
   395	}
   396	

---
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: 25704 bytes --]

                 reply	other threads:[~2020-11-18 12:59 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202011182001.XxnaXM4Y-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.