summaryrefslogtreecommitdiff
path: root/lib_generic
diff options
context:
space:
mode:
authorHaavard Skinnemoen <haavard.skinnemoen@atmel.com>2008-08-18 13:41:27 +0200
committerWolfgang Denk <wd@denx.de>2008-08-21 01:52:49 +0200
commit0768b7a872964085eece8d5e9fec9175e9deb161 (patch)
treefe9fcd3e6264f6eb075b7c2eb799221556e4f0c6 /lib_generic
parenta928d0df211f1d829308d335d19be3ca42558dfc (diff)
Consolidate strmhz() implementation
ARM, i386, m68k and ppc all have identical implementations of strmhz(). Other architectures don't provide this function at all. This patch moves strmhz() into lib_generic, reducing code duplication and providing a more unified API across architectures. Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Diffstat (limited to 'lib_generic')
-rw-r--r--lib_generic/Makefile1
-rw-r--r--lib_generic/strmhz.c36
2 files changed, 37 insertions, 0 deletions
diff --git a/lib_generic/Makefile b/lib_generic/Makefile
index 4f6ce73ab3..bf0e31d127 100644
--- a/lib_generic/Makefile
+++ b/lib_generic/Makefile
@@ -40,6 +40,7 @@ COBJS-$(CONFIG_MD5) += md5.o
COBJS-y += sha1.o
COBJS-$(CONFIG_SHA256) += sha256.o
COBJS-y += string.o
+COBJS-y += strmhz.o
COBJS-y += vsprintf.o
COBJS-y += zlib.o
diff --git a/lib_generic/strmhz.c b/lib_generic/strmhz.c
new file mode 100644
index 0000000000..d0b6bc60d9
--- /dev/null
+++ b/lib_generic/strmhz.c
@@ -0,0 +1,36 @@
+/*
+ * (C) Copyright 2002-2006
+ * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+#include <common.h>
+
+char *strmhz (char *buf, long hz)
+{
+ long l, n;
+ long m;
+
+ n = hz / 1000000L;
+ l = sprintf (buf, "%ld", n);
+ m = (hz % 1000000L) / 1000L;
+ if (m != 0)
+ sprintf (buf + l, ".%03ld", m);
+ return (buf);
+}