Skip to contentSkip to conversation

drivers/firmware/memmap.c:240:19: error: conflicting types for 'me

PATCH In review Fengguang Wu 2 participants 3 messages Oct 15, 2012 Kernel janitors

lore
Share & tools
lore
#0 lore raw

PATCH 26/33 drivers/firmware/memmap.c:240:19: error: conflicting types for 'me

Hi Glauber,

FYI, kernel build failed on

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/glommer/memcg.git kmemcg-slab
head:   f7dc2a43ce771e73443c82eb25d95f72f8161b45
commit: d17ddfd35a7329643b2fb442ade58e2974a2a05c [26/33] sl[au]b: Allocate objects from memcg cache
config: ia64-allmodconfig # make ARCH=ia64 allmodconfig
branch date: 3 hours ago
commit date: 4 hours ago

All error/warnings:

drivers/firmware/memmap.c:240:19: error: conflicting types for 'memmap_init' arch/ia64/include/asm/pgtable.h:565:17: note: previous declaration of 'memmap_init' was here

vim +240 drivers/firmware/memmap.c

69ac9cd6 Bernhard Walle            2008-06-27  232  /*
69ac9cd6 Bernhard Walle            2008-06-27  233   * Initialises stuff and adds the entries in the map_entries list to
69ac9cd6 Bernhard Walle            2008-06-27  234   * sysfs. Important is that firmware_map_add() and firmware_map_add_early()
31bad924 Bernhard Walle            2008-08-12  235   * must be called before late_initcall. That's just because that function
31bad924 Bernhard Walle            2008-08-12  236   * is called as late_initcall() function, which means that if you call
31bad924 Bernhard Walle            2008-08-12  237   * firmware_map_add() or firmware_map_add_early() afterwards, the entries
31bad924 Bernhard Walle            2008-08-12  238   * are not added to sysfs.
69ac9cd6 Bernhard Walle            2008-06-27  239   */
69ac9cd6 Bernhard Walle            2008-06-27 @240  static int __init memmap_init(void)
69ac9cd6 Bernhard Walle            2008-06-27  241  {
69ac9cd6 Bernhard Walle            2008-06-27  242  	struct firmware_map_entry *entry;
69ac9cd6 Bernhard Walle            2008-06-27  243  
d96ae530 [email protected] 2010-03-05  244  	list_for_each_entry(entry, &map_entries, list)
d96ae530 [email protected] 2010-03-05  245  		add_sysfs_fw_map_entry(entry);
69ac9cd6 Bernhard Walle            2008-06-27  246  
69ac9cd6 Bernhard Walle            2008-06-27  247  	return 0;
69ac9cd6 Bernhard Walle            2008-06-27  248  }

The code at line 240 was first introduced by commit:
69ac9cd sysfs: add /sys/firmware/memmap

---
0-DAY kernel build testing backend Open Source Technology Center
Fengguang Wu, Yuanhan Liu Intel Corporation

#1 lore raw

Re: [glommer-memcg:kmemcg-slab 26/33] drivers/firmware/memmap.c:240:19: error: conflicting types for

Quoted 11 lines · Fengguang Wu

Hi Glauber,

FYI, kernel build failed on

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/glommer/memcg.git kmemcg-slab
head:   f7dc2a43ce771e73443c82eb25d95f72f8161b45
commit: d17ddfd35a7329643b2fb442ade58e2974a2a05c [26/33] sl[au]b: Allocate objects from memcg cache
config: ia64-allmodconfig # make ARCH=ia64 allmodconfig
branch date: 3 hours ago
commit date: 4 hours ago

totally unrelated to my tree.

Bad commit is :

commit 69ac9cd629ca96e59f34eb4ccd12d00b2c8276a7

Author: Bernhard Walle <[email protected]>
Date:   Fri Jun 27 13:12:54 2008 +0200

sysfs: add /sys/firmware/memmap

#2 lore raw

Re: [glommer-memcg:kmemcg-slab 26/33] drivers/firmware/memmap.c:240:19: error: conflicting types for

In reply to Fengguang Wu
Quoted 13 lines · Glauber Costa
Quoted 11 lines · Fengguang Wu

Hi Glauber,

FYI, kernel build failed on

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/glommer/memcg.git kmemcg-slab
head:   f7dc2a43ce771e73443c82eb25d95f72f8161b45
commit: d17ddfd35a7329643b2fb442ade58e2974a2a05c [26/33] sl[au]b: Allocate objects from memcg cache
config: ia64-allmodconfig # make ARCH=ia64 allmodconfig
branch date: 3 hours ago
commit date: 4 hours ago
Quoted 1 line

totally unrelated to my tree.

It's not your fault, but perhaps not totally unrelated ;-)

Your commit seems like the direct cause for:

drivers/firmware/memmap.c:240:19: error: conflicting types for 'memmap_init' arch/ia64/include/asm/pgtable.h:565:17: note: previous declaration of 'memmap_init' was here

It adds

+#include <linux/memcontrol.h>
+#include <linux/mm.h>

to slub_def.h, this makes firmware/memmap.c eventually include arch/ia64/include/asm/pgtable.h to create the type conflict.

The suggested fix, however, is to rename firmware/memmap.c's local memmap_init() to a more specific name.

Thanks,
Fengguang

Quoted 7 lines

Bad commit is :

commit 69ac9cd629ca96e59f34eb4ccd12d00b2c8276a7

Author: Bernhard Walle <[email protected]>
Date:   Fri Jun 27 13:12:54 2008 +0200

sysfs: add /sys/firmware/memmap