diff options
Diffstat (limited to 'include/linux/kernel.h')
| -rw-r--r-- | include/linux/kernel.h | 13 | 
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index e8343422240a..d801acb5e680 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -85,6 +85,19 @@  }							\  ) +/* + * Multiplies an integer by a fraction, while avoiding unnecessary + * overflow or loss of precision. + */ +#define mult_frac(x, numer, denom)(			\ +{							\ +	typeof(x) quot = (x) / (denom);			\ +	typeof(x) rem  = (x) % (denom);			\ +	(quot * (numer)) + ((rem * (numer)) / (denom));	\ +}							\ +) + +  #define _RET_IP_		(unsigned long)__builtin_return_address(0)  #define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })  | 
