From 3c7bb897183fb0d5617c34030857c264efe503d3 Mon Sep 17 00:00:00 2001 From: Bin Meng Date: Tue, 13 Oct 2020 18:45:06 +0800 Subject: [PATCH] cmd: Split out timer command from the sleep command CONFIG_CMD_TIMER merits a single file instead of co-exist in the sleep command file. Signed-off-by: Bin Meng --- cmd/Makefile | 1 + cmd/sleep.c | 28 ---------------------------- cmd/timer.c | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 28 deletions(-) create mode 100644 cmd/timer.c diff --git a/cmd/Makefile b/cmd/Makefile index 70fe52b023..c617474a63 100644 --- a/cmd/Makefile +++ b/cmd/Makefile @@ -141,6 +141,7 @@ obj-$(CONFIG_CMD_SMC) += smccc.o obj-$(CONFIG_CMD_SYSBOOT) += sysboot.o pxe_utils.o obj-$(CONFIG_CMD_TERMINAL) += terminal.o obj-$(CONFIG_CMD_TIME) += time.o +obj-$(CONFIG_CMD_TIMER) += timer.o obj-$(CONFIG_CMD_TRACE) += trace.o obj-$(CONFIG_HUSH_PARSER) += test.o obj-$(CONFIG_CMD_TPM) += tpm-common.o diff --git a/cmd/sleep.c b/cmd/sleep.c index 86986f0993..f0c78a8efb 100644 --- a/cmd/sleep.c +++ b/cmd/sleep.c @@ -55,31 +55,3 @@ U_BOOT_CMD( " - delay execution for N seconds (N is _decimal_ and can be\n" " fractional)" ); - -#ifdef CONFIG_CMD_TIMER -static int do_timer(struct cmd_tbl *cmdtp, int flag, int argc, - char *const argv[]) -{ - static ulong start; - - if (argc != 2) - return CMD_RET_USAGE; - - if (!strcmp(argv[1], "start")) - start = get_timer(0); - - if (!strcmp(argv[1], "get")) { - ulong msecs = get_timer(start) * 1000 / CONFIG_SYS_HZ; - printf("%ld.%03d\n", msecs / 1000, (int)(msecs % 1000)); - } - - return 0; -} - -U_BOOT_CMD( - timer, 2, 1, do_timer, - "access the system timer", - "start - Reset the timer reference.\n" - "timer get - Print the time since 'start'." -); -#endif diff --git a/cmd/timer.c b/cmd/timer.c new file mode 100644 index 0000000000..551be5dd54 --- /dev/null +++ b/cmd/timer.c @@ -0,0 +1,34 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * (C) Copyright 2001 + * Wolfgang Denk, DENX Software Engineering, wd@denx.de. + */ + +#include +#include + +static int do_timer(struct cmd_tbl *cmdtp, int flag, int argc, + char *const argv[]) +{ + static ulong start; + + if (argc != 2) + return CMD_RET_USAGE; + + if (!strcmp(argv[1], "start")) + start = get_timer(0); + + if (!strcmp(argv[1], "get")) { + ulong msecs = get_timer(start) * 1000 / CONFIG_SYS_HZ; + printf("%ld.%03d\n", msecs / 1000, (int)(msecs % 1000)); + } + + return 0; +} + +U_BOOT_CMD( + timer, 2, 1, do_timer, + "access the system timer", + "start - Reset the timer reference.\n" + "timer get - Print the time since 'start'." +); -- 2.39.5