Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
[linux-2.6] / include / linux / bcd.h
1 /* Permission is hereby granted to copy, modify and redistribute this code
2  * in terms of the GNU Library General Public License, Version 2 or later,
3  * at your option.
4  */
5
6 /* macros to translate to/from binary and binary-coded decimal (frequently
7  * found in RTC chips).
8  */
9
10 #ifndef _BCD_H
11 #define _BCD_H
12
13 #include <linux/compiler.h>
14
15 unsigned bcd2bin(unsigned char val) __attribute_const__;
16 unsigned char bin2bcd(unsigned val) __attribute_const__;
17
18 #define BCD2BIN(val)    bcd2bin(val)
19 #define BIN2BCD(val)    bin2bcd(val)
20
21 /* backwards compat */
22 #define BCD_TO_BIN(val) ((val)=BCD2BIN(val))
23 #define BIN_TO_BCD(val) ((val)=BIN2BCD(val))
24
25 #endif /* _BCD_H */