]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
m68k: bitops: Fix find_*_bit() signatures
authorGeert Uytterhoeven <geert@linux-m68k.org>
Wed, 10 Sep 2025 15:16:13 +0000 (17:16 +0200)
committerGeert Uytterhoeven <geert@linux-m68k.org>
Mon, 15 Sep 2025 12:30:21 +0000 (14:30 +0200)
The function signatures of the m68k-optimized implementations of the
find_{first,next}_{,zero_}bit() helpers do not match the generic
variants.

Fix this by changing all non-pointer inputs and outputs to "unsigned
long", and updating a few local variables.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202509092305.ncd9mzaZ-lkp@intel.com/
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: "Yury Norov (NVIDIA)" <yury.norov@gmail.com>
Link: https://patch.msgid.link/de6919554fbb4cd1427155c6bafbac8a9df822c8.1757517135.git.geert@linux-m68k.org
arch/m68k/include/asm/bitops.h

index 14c64a6f1217624cb68c86f7faee2ac9e5a54b4b..50ec92651d5a5f057acb56ee95401d11e653efaa 100644 (file)
@@ -350,12 +350,12 @@ static inline bool xor_unlock_is_negative_byte(unsigned long mask,
 #include <asm-generic/bitops/ffz.h>
 #else
 
-static inline int find_first_zero_bit(const unsigned long *vaddr,
-                                     unsigned size)
+static inline unsigned long find_first_zero_bit(const unsigned long *vaddr,
+                                               unsigned long size)
 {
        const unsigned long *p = vaddr;
-       int res = 32;
-       unsigned int words;
+       unsigned long res = 32;
+       unsigned long words;
        unsigned long num;
 
        if (!size)
@@ -376,8 +376,9 @@ out:
 }
 #define find_first_zero_bit find_first_zero_bit
 
-static inline int find_next_zero_bit(const unsigned long *vaddr, int size,
-                                    int offset)
+static inline unsigned long find_next_zero_bit(const unsigned long *vaddr,
+                                              unsigned long size,
+                                              unsigned long offset)
 {
        const unsigned long *p = vaddr + (offset >> 5);
        int bit = offset & 31UL, res;
@@ -406,11 +407,12 @@ static inline int find_next_zero_bit(const unsigned long *vaddr, int size,
 }
 #define find_next_zero_bit find_next_zero_bit
 
-static inline int find_first_bit(const unsigned long *vaddr, unsigned size)
+static inline unsigned long find_first_bit(const unsigned long *vaddr,
+                                          unsigned long size)
 {
        const unsigned long *p = vaddr;
-       int res = 32;
-       unsigned int words;
+       unsigned long res = 32;
+       unsigned long words;
        unsigned long num;
 
        if (!size)
@@ -431,8 +433,9 @@ out:
 }
 #define find_first_bit find_first_bit
 
-static inline int find_next_bit(const unsigned long *vaddr, int size,
-                               int offset)
+static inline unsigned long find_next_bit(const unsigned long *vaddr,
+                                         unsigned long size,
+                                         unsigned long offset)
 {
        const unsigned long *p = vaddr + (offset >> 5);
        int bit = offset & 31UL, res;