]>
Commit | Line | Data |
---|---|---|
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 | /* inline functions to translate to/from binary and binary-coded decimal | |
7 | * (frequently found in RTC chips). | |
8 | */ | |
9 | ||
10 | #ifndef _BCD_H | |
11 | #define _BCD_H | |
12 | ||
13 | static inline unsigned int bcd2bin(unsigned int val) | |
14 | { | |
15 | return ((val) & 0x0f) + ((val & 0xff) >> 4) * 10; | |
16 | } | |
17 | ||
18 | static inline unsigned int bin2bcd(unsigned int val) | |
19 | { | |
20 | return (((val / 10) << 4) | (val % 10)); | |
21 | } | |
22 | ||
23 | #endif /* _BCD_H */ |