X-Git-Url: https://git.kernelconcepts.de/?a=blobdiff_plain;f=include%2Fbcd.h;h=9ecd328284e9de20a293a96dff9bc655c6d529ea;hb=f757d117639306541c70ec20347e8c48575a674c;hp=c545308125b0904a070e3cccd611f83ff37b71e1;hpb=74ac5facb988fc488a707db228b177ead63a6541;p=karo-tx-uboot.git diff --git a/include/bcd.h b/include/bcd.h index c545308125..9ecd328284 100644 --- a/include/bcd.h +++ b/include/bcd.h @@ -3,18 +3,21 @@ * at your option. */ -/* macros to translate to/from binary and binary-coded decimal (frequently - * found in RTC chips). +/* inline functions to translate to/from binary and binary-coded decimal + * (frequently found in RTC chips). */ #ifndef _BCD_H #define _BCD_H -#define BCD2BIN(val) (((val) & 0x0f) + ((val)>>4)*10) -#define BIN2BCD(val) ((((val)/10)<<4) + (val)%10) +static inline unsigned int bcd2bin(unsigned int val) +{ + return ((val) & 0x0f) + ((val & 0xff) >> 4) * 10; +} -/* backwards compat */ -#define BCD_TO_BIN(val) ((val)=BCD2BIN(val)) -#define BIN_TO_BCD(val) ((val)=BIN2BCD(val)) +static inline unsigned int bin2bcd(unsigned int val) +{ + return (((val / 10) << 4) | (val % 10)); +} #endif /* _BCD_H */