hc
2024-01-05 071106ecf68c401173c58808b1cf5f68cc50d390
kernel/lib/clz_ctz.c
....@@ -28,36 +28,16 @@
2828 }
2929 EXPORT_SYMBOL(__clzsi2);
3030
31
-int __weak __clzdi2(long val);
32
-int __weak __ctzdi2(long val);
33
-#if BITS_PER_LONG == 32
34
-
35
-int __weak __clzdi2(long val)
31
+int __weak __clzdi2(u64 val);
32
+int __weak __clzdi2(u64 val)
3633 {
37
- return 32 - fls((int)val);
34
+ return 64 - fls64(val);
3835 }
3936 EXPORT_SYMBOL(__clzdi2);
4037
41
-int __weak __ctzdi2(long val)
38
+int __weak __ctzdi2(u64 val);
39
+int __weak __ctzdi2(u64 val)
4240 {
43
- return __ffs((u32)val);
41
+ return __ffs64(val);
4442 }
4543 EXPORT_SYMBOL(__ctzdi2);
46
-
47
-#elif BITS_PER_LONG == 64
48
-
49
-int __weak __clzdi2(long val)
50
-{
51
- return 64 - fls64((u64)val);
52
-}
53
-EXPORT_SYMBOL(__clzdi2);
54
-
55
-int __weak __ctzdi2(long val)
56
-{
57
- return __ffs64((u64)val);
58
-}
59
-EXPORT_SYMBOL(__ctzdi2);
60
-
61
-#else
62
-#error BITS_PER_LONG not 32 or 64
63
-#endif