All of lore.kernel.org
 help / color / mirror / Atom feed
* [norov:find-and-bit-v6 3/42] include/linux/find_atomic.h:294:15: error: implicit declaration of function 'find_first_zero_bit'
@ 2024-06-08  5:37 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-06-08  5:37 UTC (permalink / raw)
  To: Yury Norov; +Cc: oe-kbuild-all

tree:   https://github.com/norov/linux find-and-bit-v6
head:   01a427072a49f0674209d92684f2bc928b2509a1
commit: 6ebe8d6a8e3f6c1f51347b8aab4246c6d604152a [3/42] lib/find: add atomic find_bit() primitives
config: parisc-allnoconfig (https://download.01.org/0day-ci/archive/20240608/202406081337.DBDNAdoL-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240608/202406081337.DBDNAdoL-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406081337.DBDNAdoL-lkp@intel.com/

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

   In file included from lib/find_bit.c:16:
   include/linux/find_atomic.h: In function '__find_and_set_bit':
>> include/linux/find_atomic.h:294:15: error: implicit declaration of function 'find_first_zero_bit' [-Werror=implicit-function-declaration]
     294 |         bit = find_first_zero_bit(addr, nbits);
         |               ^~~~~~~~~~~~~~~~~~~
   lib/find_bit.c: At top level:
>> lib/find_bit.c:99:15: warning: no previous prototype for '_find_first_bit' [-Wmissing-prototypes]
      99 | unsigned long _find_first_bit(const unsigned long *addr, unsigned long size)
         |               ^~~~~~~~~~~~~~~
>> lib/find_bit.c:110:15: warning: no previous prototype for '_find_first_and_bit' [-Wmissing-prototypes]
     110 | unsigned long _find_first_and_bit(const unsigned long *addr1,
         |               ^~~~~~~~~~~~~~~~~~~
>> lib/find_bit.c:122:15: warning: no previous prototype for '_find_first_and_and_bit' [-Wmissing-prototypes]
     122 | unsigned long _find_first_and_and_bit(const unsigned long *addr1,
         |               ^~~~~~~~~~~~~~~~~~~~~~~
   lib/find_bit.c: In function '_find_and_set_next_bit':
>> lib/find_bit.c:57:22: error: implicit declaration of function 'BITMAP_FIRST_WORD_MASK' [-Werror=implicit-function-declaration]
      57 |         mask = MUNGE(BITMAP_FIRST_WORD_MASK(__start));                          \
         |                      ^~~~~~~~~~~~~~~~~~~~~~
   lib/find_bit.c:151:23: note: in expansion of macro 'FIND_NEXT_BIT'
     151 |                 bit = FIND_NEXT_BIT(~addr[idx], /* nop */, nbits, start);
         |                       ^~~~~~~~~~~~~
   lib/find_bit.c: At top level:
>> lib/find_bit.c:220:15: warning: no previous prototype for '_find_first_zero_bit' [-Wmissing-prototypes]
     220 | unsigned long _find_first_zero_bit(const unsigned long *addr, unsigned long size)
         |               ^~~~~~~~~~~~~~~~~~~~
>> lib/find_bit.c:228:15: warning: no previous prototype for '_find_next_bit' [-Wmissing-prototypes]
     228 | unsigned long _find_next_bit(const unsigned long *addr, unsigned long nbits, unsigned long start)
         |               ^~~~~~~~~~~~~~
>> lib/find_bit.c:235:15: warning: no previous prototype for '__find_nth_bit' [-Wmissing-prototypes]
     235 | unsigned long __find_nth_bit(const unsigned long *addr, unsigned long size, unsigned long n)
         |               ^~~~~~~~~~~~~~
   lib/find_bit.c: In function '__find_nth_bit':
>> lib/find_bit.c:88:33: error: implicit declaration of function 'BITMAP_LAST_WORD_MASK' [-Werror=implicit-function-declaration]
      88 |                 tmp = (FETCH) & BITMAP_LAST_WORD_MASK(sz);                      \
         |                                 ^~~~~~~~~~~~~~~~~~~~~
   lib/find_bit.c:237:16: note: in expansion of macro 'FIND_NTH_BIT'
     237 |         return FIND_NTH_BIT(addr[idx], size, n);
         |                ^~~~~~~~~~~~
   lib/find_bit.c: At top level:
>> lib/find_bit.c:241:15: warning: no previous prototype for '__find_nth_and_bit' [-Wmissing-prototypes]
     241 | unsigned long __find_nth_and_bit(const unsigned long *addr1, const unsigned long *addr2,
         |               ^~~~~~~~~~~~~~~~~~
>> lib/find_bit.c:248:15: warning: no previous prototype for '__find_nth_andnot_bit' [-Wmissing-prototypes]
     248 | unsigned long __find_nth_andnot_bit(const unsigned long *addr1, const unsigned long *addr2,
         |               ^~~~~~~~~~~~~~~~~~~~~
>> lib/find_bit.c:255:15: warning: no previous prototype for '__find_nth_and_andnot_bit' [-Wmissing-prototypes]
     255 | unsigned long __find_nth_and_andnot_bit(const unsigned long *addr1,
         |               ^~~~~~~~~~~~~~~~~~~~~~~~~
>> lib/find_bit.c:265:15: warning: no previous prototype for '_find_next_and_bit' [-Wmissing-prototypes]
     265 | unsigned long _find_next_and_bit(const unsigned long *addr1, const unsigned long *addr2,
         |               ^~~~~~~~~~~~~~~~~~
>> lib/find_bit.c:274:15: warning: no previous prototype for '_find_next_andnot_bit' [-Wmissing-prototypes]
     274 | unsigned long _find_next_andnot_bit(const unsigned long *addr1, const unsigned long *addr2,
         |               ^~~~~~~~~~~~~~~~~~~~~
>> lib/find_bit.c:283:15: warning: no previous prototype for '_find_next_or_bit' [-Wmissing-prototypes]
     283 | unsigned long _find_next_or_bit(const unsigned long *addr1, const unsigned long *addr2,
         |               ^~~~~~~~~~~~~~~~~
>> lib/find_bit.c:292:15: warning: no previous prototype for '_find_next_zero_bit' [-Wmissing-prototypes]
     292 | unsigned long _find_next_zero_bit(const unsigned long *addr, unsigned long nbits,
         |               ^~~~~~~~~~~~~~~~~~~
>> lib/find_bit.c:301:15: warning: no previous prototype for '_find_last_bit' [-Wmissing-prototypes]
     301 | unsigned long _find_last_bit(const unsigned long *addr, unsigned long size)
         |               ^~~~~~~~~~~~~~
>> lib/find_bit.c:320:15: warning: no previous prototype for 'find_next_clump8' [-Wmissing-prototypes]
     320 | unsigned long find_next_clump8(unsigned long *clump, const unsigned long *addr,
         |               ^~~~~~~~~~~~~~~~
   lib/find_bit.c: In function 'find_next_clump8':
>> lib/find_bit.c:323:18: error: implicit declaration of function 'find_next_bit'; did you mean '_find_next_bit'? [-Werror=implicit-function-declaration]
     323 |         offset = find_next_bit(addr, size, offset);
         |                  ^~~~~~~~~~~~~
         |                  _find_next_bit
>> lib/find_bit.c:328:18: error: implicit declaration of function 'bitmap_get_value8' [-Werror=implicit-function-declaration]
     328 |         *clump = bitmap_get_value8(addr, offset);
         |                  ^~~~~~~~~~~~~~~~~
   lib/find_bit.c: At top level:
   lib/find_bit.c:340:15: warning: no previous prototype for '_find_first_zero_bit_le' [-Wmissing-prototypes]
     340 | unsigned long _find_first_zero_bit_le(const unsigned long *addr, unsigned long size)
         |               ^~~~~~~~~~~~~~~~~~~~~~~
   lib/find_bit.c:349:15: warning: no previous prototype for '_find_next_zero_bit_le' [-Wmissing-prototypes]
     349 | unsigned long _find_next_zero_bit_le(const unsigned long *addr,
         |               ^~~~~~~~~~~~~~~~~~~~~~
   lib/find_bit.c:358:15: warning: no previous prototype for '_find_next_bit_le' [-Wmissing-prototypes]
     358 | unsigned long _find_next_bit_le(const unsigned long *addr,
         |               ^~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/find_first_zero_bit +294 include/linux/find_atomic.h

   278	
   279	/**
   280	 * __find_and_set_bit - Find a zero bit and set it non-atomically
   281	 * @addr: The address to base the search on
   282	 * @nbits: The bitmap size in bits
   283	 *
   284	 * A non-atomic version of find_and_set_bit() needed to help writing
   285	 * common-looking code where atomicity is provided externally.
   286	 *
   287	 * Returns: found and set bit, or >= @nbits if no bits found
   288	 */
   289	static inline
   290	unsigned long __find_and_set_bit(unsigned long *addr, unsigned long nbits)
   291	{
   292		unsigned long bit;
   293	
 > 294		bit = find_first_zero_bit(addr, nbits);
   295		if (bit < nbits)
   296			__set_bit(bit, addr);
   297	
   298		return bit;
   299	}
   300	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-06-08  5:38 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-08  5:37 [norov:find-and-bit-v6 3/42] include/linux/find_atomic.h:294:15: error: implicit declaration of function 'find_first_zero_bit' 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.