diff options
Diffstat (limited to 'lib/reciprocal_div.c')
-rw-r--r-- | lib/reciprocal_div.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/reciprocal_div.c b/lib/reciprocal_div.c new file mode 100644 index 00000000..75510e94 --- /dev/null +++ b/lib/reciprocal_div.c @@ -0,0 +1,11 @@ +#include <asm/div64.h> +#include <linux/reciprocal_div.h> +#include <linux/export.h> + +u32 reciprocal_value(u32 k) +{ + u64 val = (1LL << 32) + (k - 1); + do_div(val, k); + return (u32)val; +} +EXPORT_SYMBOL(reciprocal_value); |