Replace BCD2BIN and BIN2BCD macros with inline functions

In the process, also remove backward-compatiblity macros BIN_TO_BCD and
BCD_TO_BIN and update the sole board using them to use the new bin2bcd
and bcd2bin instead

Signed-off-by: Albin Tonnerre <albin.tonnerre@free-electrons.com>
Acked-by: Stefan Roese <sr@denx.de>
Acked-by: Detlev Zundel <dzu@denx.de>
This commit is contained in:
Albin Tonnerre
2009-08-13 15:31:11 +02:00
committed by Wolfgang Denk
parent 5b53b29bc2
commit e84aba135e
7 changed files with 81 additions and 89 deletions

View File

@@ -3,18 +3,23 @@
* 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)
#include <linux/types.h>
/* backwards compat */
#define BCD_TO_BIN(val) ((val)=BCD2BIN(val))
#define BIN_TO_BCD(val) ((val)=BIN2BCD(val))
static inline unsigned int bcd2bin(u8 val)
{
return ((val) & 0x0f) + ((val) >> 4) * 10;
}
static inline u8 bin2bcd (unsigned int val)
{
return (((val / 10) << 4) | (val % 10));
}
#endif /* _BCD_H */