diff options
author | Simon Glass <sjg@chromium.org> | 2019-11-14 12:57:20 -0700 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2019-12-02 18:23:09 -0500 |
commit | 2189d5f1e8a2fd74ce52906999fd50c8f8330c81 (patch) | |
tree | 5d9f8f4af8b10404c6137b4c3dc88b07ce4bf8cc /lib/vsprintf.c | |
parent | 8bef79bf3c30cd1fc5367cc1f78f72e6552629e9 (diff) |
Move strtomhz() to vsprintf.h
At present this function sits in its own file but it does not really
justify it. There are similar string functions in vsprintf.h, so move it
there. Also add the missing function comment.
Use the vsprintf.h include file explicitly where needed.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'lib/vsprintf.c')
-rw-r--r-- | lib/vsprintf.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/vsprintf.c b/lib/vsprintf.c index 425f2f53f7..c6467ecd5f 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -2,6 +2,8 @@ * linux/lib/vsprintf.c * * Copyright (C) 1991, 1992 Linus Torvalds + * (C) Copyright 2000-2009 + * Wolfgang Denk, DENX Software Engineering, wd@denx.de. */ /* vsprintf.c -- Lars Wirzenius & Linus Torvalds. */ @@ -17,6 +19,7 @@ #include <div64.h> #include <hexdump.h> #include <stdarg.h> +#include <vsprintf.h> #include <linux/ctype.h> #include <linux/err.h> #include <linux/types.h> @@ -873,3 +876,19 @@ bool str2long(const char *p, ulong *num) *num = simple_strtoul(p, &endptr, 16); return *p != '\0' && *endptr == '\0'; } + +char *strmhz(char *buf, unsigned long hz) +{ + long l, n; + long m; + + n = DIV_ROUND_CLOSEST(hz, 1000) / 1000L; + l = sprintf(buf, "%ld", n); + + hz -= n * 1000000L; + m = DIV_ROUND_CLOSEST(hz, 1000L); + if (m != 0) + sprintf(buf + l, ".%03ld", m); + + return buf; +} |