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 #include <linux/types.h> 14 15 static inline unsigned int bcd2bin(u8 val) 16 { 17 return ((val) & 0x0f) + ((val) >> 4) * 10; 18 } 19 20 static inline u8 bin2bcd (unsigned int val) 21 { 22 return (((val / 10) << 4) | (val % 10)); 23 } 24 25 #endif /* _BCD_H */ 26