diff mbox series

[RFC] rtc: remove 'setdate' test program

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

Commit Message

Wolfram Sang March 20, 2025, 10:33 a.m. UTC
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

Comments

Geert Uytterhoeven March 20, 2025, 11:05 a.m. UTC | #1
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
Wolfram Sang March 20, 2025, 11:20 a.m. UTC | #2
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
Geert Uytterhoeven March 20, 2025, 11:23 a.m. UTC | #3
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
Wolfram Sang March 20, 2025, 11:28 a.m. UTC | #4
> 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 mbox series

Patch

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, &current);
-	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;
-}