[PATCH] cmd: date: Handle -ENOSYS return from dm_rtc_reset()

Marek Vasut marex at nabladev.com
Sat Jul 11 15:38:37 CEST 2026


In case dm_rtc_reset() returns -ENOSYS, it means the .reset callback
in RTC driver is not implemented, likely because the callback is not
needed. Handle the -ENOSYS return code as success and proceed, else
the 'date reset' invocation incorrectly prints a bogus warning:
"## Failed to set date after RTC reset".

Signed-off-by: Marek Vasut <marex at nabladev.com>
---
Cc: Alexander Feilke <alexander.feilke at ew.tq-group.com>
Cc: Alexander Sverdlin <alexander.sverdlin at siemens.com>
Cc: Markus Niebel <Markus.Niebel at ew.tq-group.com>
Cc: Peng Fan <peng.fan at nxp.com>
Cc: Simon Glass <sjg at chromium.org>
Cc: Tom Rini <trini at konsulko.com>
Cc: Yao Zi <me at ziyao.cc>
Cc: u-boot at lists.denx.de
---
 cmd/date.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cmd/date.c b/cmd/date.c
index 67cfaed0d48..8d15018253b 100644
--- a/cmd/date.c
+++ b/cmd/date.c
@@ -44,7 +44,7 @@ static int do_date(struct cmd_tbl *cmdtp, int flag, int argc,
 		if (strcmp(argv[1],"reset") == 0) {
 			puts ("Reset RTC...\n");
 			rcode = dm_rtc_reset(dev);
-			if (!rcode)
+			if (!rcode || rcode == -ENOSYS)
 				rcode = dm_rtc_set(dev, &default_tm);
 			if (rcode)
 				puts("## Failed to set date after RTC reset\n");
-- 
2.53.0



More information about the U-Boot mailing list