@@ -4,6 +4,8 @@
#include <xen/compiler.h>
#include <xen/types.h>
+#include <asm/bitops.h>
+
/*
* Create a contiguous bitmask starting at bit position @l and ending at
* position @h. For example GENMASK(30, 21) gives us 0x7fe00000ul.
@@ -15,27 +17,13 @@
(((~0ULL) << (l)) & (~0ULL >> (BITS_PER_LLONG - 1 - (h))))
/*
- * Find First/Last Set bit.
+ * Find First/Last Set bit (all forms).
*
* Bits are labelled from 1. Returns 0 if given 0.
*/
unsigned int __pure generic_ffsl(unsigned long x);
unsigned int __pure generic_flsl(unsigned long x);
-/*
- * Include this here because some architectures need generic_ffs/fls in
- * scope
- */
-
-/* --------------------- Please tidy above here --------------------- */
-
-#include <asm/bitops.h>
-
-/*
- * Find First/Last Set bit (all forms).
- *
- * Bits are labelled from 1. Returns 0 if given 0.
- */
static always_inline __pure unsigned int ffs(unsigned int x)
{
if ( __builtin_constant_p(x) )
The #include <asm/bitops.h> can move to the top of the file now now that generic_f?s() have been untangled. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> --- CC: Jan Beulich <JBeulich@suse.com> CC: Roger Pau Monné <roger.pau@citrix.com> CC: Wei Liu <wl@xen.org> CC: Stefano Stabellini <sstabellini@kernel.org> CC: Julien Grall <julien@xen.org> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com> CC: Bertrand Marquis <bertrand.marquis@arm.com> CC: Michal Orzel <michal.orzel@amd.com> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com> CC: Shawn Anastasio <sanastasio@raptorengineering.com> CC: consulting@bugseng.com <consulting@bugseng.com> CC: Simone Ballarin <simone.ballarin@bugseng.com> CC: Federico Serafini <federico.serafini@bugseng.com> CC: Nicola Vetrini <nicola.vetrini@bugseng.com> v2: * New --- xen/include/xen/bitops.h | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-)