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 */ 24