summaryrefslogtreecommitdiffstats
path: root/lib
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
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')
-rw-r--r--lib/Makefile1
-rw-r--r--lib/bcd.c14
2 files changed, 15 insertions, 0 deletions
diff --git a/lib/Makefile b/lib/Makefile
index e8769a9be2..14442a7be5 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -1,3 +1,4 @@
+obj-y += bcd.o
obj-$(CONFIG_BOOTSTRAP) += bootstrap/
obj-y += ctype.o
obj-y += rbtree.o
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);