Subject: linux-next: build failure after merge of the bitmap tree

From: Stephen Rothwell <[email-masked]>
Date: Fri, 8 Jul 2022 17:47:37 +1000

Hi all,

After merging the bitmap tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

lib/bitmap.c:351:6: error: conflicting types for '__bitmap_set'; have 'void(long unsigned int *, unsigned int,  unsigned int)'
  351 | void __bitmap_set(unsigned long *map, unsigned int start, unsigned int len)
      |      ^~~~~~~~~~~~
In file included from lib/bitmap.c:7:
include/linux/bitmap.h:167:6: note: previous declaration of '__bitmap_set' with type 'void(long unsigned int *, unsigned int,  int)'
  167 | void __bitmap_set(unsigned long *map, unsigned int start, int len);
      |      ^~~~~~~~~~~~
In file included from include/linux/linkage.h:7,
                 from include/linux/printk.h:8,
                 from include/asm-generic/bug.h:22,
                 from arch/powerpc/include/asm/bug.h:158,
                 from include/linux/bug.h:5,
                 from lib/bitmap.c:9:
lib/bitmap.c:370:15: error: conflicting types for '__bitmap_set'; have 'void(long unsigned int *, unsigned int,  unsigned int)'
  370 | EXPORT_SYMBOL(__bitmap_set);
      |               ^~~~~~~~~~~~
include/linux/export.h:87:28: note: in definition of macro '___EXPORT_SYMBOL'
   87 |         extern typeof(sym) sym;                                                 \
      |                            ^~~
include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL'
  147 | #define _EXPORT_SYMBOL(sym, sec)        __EXPORT_SYMBOL(sym, sec, "")
      |                                         ^~~~~~~~~~~~~~~
include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL'
  150 | #define EXPORT_SYMBOL(sym)              _EXPORT_SYMBOL(sym, "")
      |                                         ^~~~~~~~~~~~~~
lib/bitmap.c:370:1: note: in expansion of macro 'EXPORT_SYMBOL'
  370 | EXPORT_SYMBOL(__bitmap_set);
      | ^~~~~~~~~~~~~
In file included from lib/bitmap.c:7:
include/linux/bitmap.h:167:6: note: previous declaration of '__bitmap_set' with type 'void(long unsigned int *, unsigned int,  int)'
  167 | void __bitmap_set(unsigned long *map, unsigned int start, int len);
      |      ^~~~~~~~~~~~

Caused by commit

  aaa4ab5ec044 ("lib/bitmap: Make length parameter `len` unsigned")

I have reverted that commit for today.

-- 
Cheers,
Stephen Rothwell