summaryrefslogtreecommitdiff
path: root/include/bcd.h
diff options
context:
space:
mode:
authorAlbin Tonnerre <albin.tonnerre@free-electrons.com>2009-08-13 15:31:11 +0200
committerWolfgang Denk <wd@denx.de>2009-08-25 12:57:55 +0200
commite84aba135ed7145299304ef550e92f08b2c99d7a (patch)
treea70c19d295abf01ca9f53f01fb008cab416a6b6e /include/bcd.h
parent5b53b29bc2e82b80b669f1d2402068c60d7fecd0 (diff)
downloadu-boot-e84aba135ed7145299304ef550e92f08b2c99d7a.tar.gz
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>
Diffstat (limited to 'include/bcd.h')
-rw-r--r--include/bcd.h19
1 files changed, 12 insertions, 7 deletions
diff --git a/include/bcd.h b/include/bcd.h
index c545308125..af4aa9c7ba 100644
--- a/include/bcd.h
+++ b/include/bcd.h
@@ -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 */