summaryrefslogtreecommitdiffstats
path: root/lib/bcd.c
diff options
context:
space:
mode:
authorAntony Pavlov <antonynpavlov@gmail.com>2014-07-30 00:10:17 +0400
committerSascha Hauer <s.hauer@pengutronix.de>2014-07-31 07:30:51 +0200
commit6d3fc76b7720c6eeb5f38cce32290cbbe28ae146 (patch)
tree2feef0ee70652d07ae3cb4491c06873d73e8aa8d /lib/bcd.c
parent2fd4f0fbe93ec7e6e10b3475257521dd8418f8e7 (diff)
downloadbarebox-6d3fc76b7720c6eeb5f38cce32290cbbe28ae146.tar.gz
barebox-6d3fc76b7720c6eeb5f38cce32290cbbe28ae146.tar.xz
lib: import 'bcd' from linux-3.15
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'lib/bcd.c')
-rw-r--r--lib/bcd.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/bcd.c b/lib/bcd.c
new file mode 100644
index 0000000000..b072d50a90
--- /dev/null
+++ b/lib/bcd.c
@@ -0,0 +1,14 @@
+#include <linux/bcd.h>
+#include <module.h>
+
+unsigned _bcd2bin(unsigned char val)
+{
+ return (val & 0x0f) + (val >> 4) * 10;
+}
+EXPORT_SYMBOL(_bcd2bin);
+
+unsigned char _bin2bcd(unsigned val)
+{
+ return ((val / 10) << 4) + val % 10;
+}
+EXPORT_SYMBOL(_bin2bcd);