Message ID | 20250320103433.11673-1-wsa+renesas@sang-engineering.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [RFC] rtc: remove 'setdate' test program | expand |
Hi Wolfram, Thanks for your patch! On Thu, 20 Mar 2025 at 11:36, Wolfram Sang <wsa+renesas@sang-engineering.com> wrote: > The tool is not embedded in the testing framework. 'rtc' from rtc-tools > serves as a much better programming example. No need to carry this tool > in the kernel tree. Where can I find these "rtc-tools"? They don't seem to be carried by e.g. Ubuntu or Debian. Google Search gives lots of results for something that looks completely unrelated. Ubuntu also suggest: $ rtc Command 'rtc' not found, but can be installed with: sudo apt install nvram-wakeup Is that the same rtc tool? > tools/testing/selftests/rtc/.gitignore | 1 - > tools/testing/selftests/rtc/Makefile | 2 - > tools/testing/selftests/rtc/setdate.c | 77 -------------------------- Iff this can be cross-compiled easily, it might be a better option than the rtc-tools I couldn't find... Gr{oetje,eeting}s, Geert
Hi Geert, > Where can I find these "rtc-tools"? They don't seem to be carried On your favourite git server :) https://web.git.kernel.org/pub/scm/linux/kernel/git/abelloni/rtc-tools.git/ > by e.g. Ubuntu or Debian. Well, buildroot has it. > Iff this can be cross-compiled easily, it might be a better option > than the rtc-tools I couldn't find... Did you find the 'setdate' utility? It is in 'testing/selftests/' not in 'tools/'. But yeah, rtc-tools could get a wider audience. Packaging for Debian? Moving them into the kernel tree? Alexandre's call, I guess. Happy hacking, Wolfram
Hi Wolfram, On Thu, 20 Mar 2025 at 12:20, Wolfram Sang <wsa+renesas@sang-engineering.com> wrote: > > Where can I find these "rtc-tools"? They don't seem to be carried > > On your favourite git server :) > > https://web.git.kernel.org/pub/scm/linux/kernel/git/abelloni/rtc-tools.git/ Oh well... > > Iff this can be cross-compiled easily, it might be a better option > > than the rtc-tools I couldn't find... > > Did you find the 'setdate' utility? It is in 'testing/selftests/' not in > 'tools/'. I found it, because you provided a link in the diffstat ;-) Gr{oetje,eeting}s, Geert
> I found it, because you provided a link in the diffstat ;-)
Which is basically the only way to find it IMHO. No loss if it is gone.
diff --git a/tools/testing/selftests/rtc/.gitignore b/tools/testing/selftests/rtc/.gitignore index fb2d533aa575..a2afe7994e85 100644 --- a/tools/testing/selftests/rtc/.gitignore +++ b/tools/testing/selftests/rtc/.gitignore @@ -1,3 +1,2 @@ # SPDX-License-Identifier: GPL-2.0-only rtctest -setdate diff --git a/tools/testing/selftests/rtc/Makefile b/tools/testing/selftests/rtc/Makefile index 9dbb395c5c79..547c244a2ca5 100644 --- a/tools/testing/selftests/rtc/Makefile +++ b/tools/testing/selftests/rtc/Makefile @@ -4,8 +4,6 @@ LDLIBS += -lrt -lpthread -lm TEST_GEN_PROGS = rtctest -TEST_GEN_PROGS_EXTENDED = setdate - TEST_FILES := settings include ../lib.mk diff --git a/tools/testing/selftests/rtc/setdate.c b/tools/testing/selftests/rtc/setdate.c deleted file mode 100644 index b303890b3de2..000000000000 --- a/tools/testing/selftests/rtc/setdate.c +++ /dev/null @@ -1,77 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later -/* Real Time Clock Driver Test - * by: Benjamin Gaignard (benjamin.gaignard@linaro.org) - * - * To build - * gcc rtctest_setdate.c -o rtctest_setdate - */ - -#include <stdio.h> -#include <linux/rtc.h> -#include <sys/ioctl.h> -#include <sys/time.h> -#include <sys/types.h> -#include <fcntl.h> -#include <unistd.h> -#include <stdlib.h> -#include <errno.h> - -static const char default_time[] = "00:00:00"; - -int main(int argc, char **argv) -{ - int fd, retval; - struct rtc_time new, current; - const char *rtc, *date; - const char *time = default_time; - - switch (argc) { - case 4: - time = argv[3]; - /* FALLTHROUGH */ - case 3: - date = argv[2]; - rtc = argv[1]; - break; - default: - fprintf(stderr, "usage: rtctest_setdate <rtcdev> <DD-MM-YYYY> [HH:MM:SS]\n"); - return 1; - } - - fd = open(rtc, O_RDONLY); - if (fd == -1) { - perror(rtc); - exit(errno); - } - - sscanf(date, "%d-%d-%d", &new.tm_mday, &new.tm_mon, &new.tm_year); - new.tm_mon -= 1; - new.tm_year -= 1900; - sscanf(time, "%d:%d:%d", &new.tm_hour, &new.tm_min, &new.tm_sec); - - fprintf(stderr, "Test will set RTC date/time to %d-%d-%d, %02d:%02d:%02d.\n", - new.tm_mday, new.tm_mon + 1, new.tm_year + 1900, - new.tm_hour, new.tm_min, new.tm_sec); - - /* Write the new date in RTC */ - retval = ioctl(fd, RTC_SET_TIME, &new); - if (retval == -1) { - perror("RTC_SET_TIME ioctl"); - close(fd); - exit(errno); - } - - /* Read back */ - retval = ioctl(fd, RTC_RD_TIME, ¤t); - if (retval == -1) { - perror("RTC_RD_TIME ioctl"); - exit(errno); - } - - fprintf(stderr, "\n\nCurrent RTC date/time is %d-%d-%d, %02d:%02d:%02d.\n", - current.tm_mday, current.tm_mon + 1, current.tm_year + 1900, - current.tm_hour, current.tm_min, current.tm_sec); - - close(fd); - return 0; -}
The tool is not embedded in the testing framework. 'rtc' from rtc-tools serves as a much better programming example. No need to carry this tool in the kernel tree. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> --- Alexandre, what is you opinion on this? tools/testing/selftests/rtc/.gitignore | 1 - tools/testing/selftests/rtc/Makefile | 2 - tools/testing/selftests/rtc/setdate.c | 77 -------------------------- 3 files changed, 80 deletions(-) delete mode 100644 tools/testing/selftests/rtc/setdate.c