diff options
Diffstat (limited to 'include/linux/kernel.h')
| -rw-r--r-- | include/linux/kernel.h | 14 | 
1 files changed, 12 insertions, 2 deletions
| diff --git a/include/linux/kernel.h b/include/linux/kernel.h index bd6d96cf80b1..0ad4c3044cf9 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -78,8 +78,11 @@  #define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f))  #define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP -#define DIV_ROUND_UP_ULL(ll,d) \ -	({ unsigned long long _tmp = (ll)+(d)-1; do_div(_tmp, d); _tmp; }) + +#define DIV_ROUND_DOWN_ULL(ll, d) \ +	({ unsigned long long _tmp = (ll); do_div(_tmp, d); _tmp; }) + +#define DIV_ROUND_UP_ULL(ll, d)		DIV_ROUND_DOWN_ULL((ll) + (d) - 1, (d))  #if BITS_PER_LONG == 32  # define DIV_ROUND_UP_SECTOR_T(ll,d) DIV_ROUND_UP_ULL(ll, d) @@ -277,6 +280,13 @@ extern int oops_may_print(void);  void do_exit(long error_code) __noreturn;  void complete_and_exit(struct completion *, long) __noreturn; +#ifdef CONFIG_ARCH_HAS_REFCOUNT +void refcount_error_report(struct pt_regs *regs, const char *err); +#else +static inline void refcount_error_report(struct pt_regs *regs, const char *err) +{ } +#endif +  /* Internal, do not use. */  int __must_check _kstrtoul(const char *s, unsigned int base, unsigned long *res);  int __must_check _kstrtol(const char *s, unsigned int base, long *res); |