summaryrefslogtreecommitdiff
path: root/lib/reciprocal_div.c
blob: 75510e94f7d0b2fcd5736a4e0aeb9ff282da11d1 (plain)
1
2
3
4
5
6
7
8
9
10
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);