Hi Denis,
On 6/3/26 9:07 AM, [email protected] wrote:
Add a diagnostic console trace indicating the reset type.
Signed-off-by: Denis Mukhin <[email protected]>
---
Changes since v3:
- moved get_reset_type_str() next to do_reset()
---
drivers/sysreset/sysreset-uclass.c | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/drivers/sysreset/sysreset-uclass.c
b/drivers/sysreset/sysreset-uclass.c
index 1ba698b37285..2b7717857ce6 100644
--- a/drivers/sysreset/sysreset-uclass.c
+++ b/drivers/sysreset/sysreset-uclass.c
@@ -161,6 +161,22 @@ static enum sysreset_t sysreset_get_default_type(void)
return SYSRESET_COLD;
}
+static const char *get_reset_type_str(enum sysreset_t reset_type)
+{
+ switch (reset_type) {
+ case SYSRESET_WARM:
+ return "warm";
+ case SYSRESET_COLD:
+ return "cold";
+ case SYSRESET_POWER:
+ return "power";
+ case SYSRESET_POWER_OFF:
+ return "power off";
+ default:
+ return "unknown";
+ }
+}
+
int do_reset(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
{
enum sysreset_t reset_type = sysreset_get_default_type();
@@ -181,7 +197,7 @@ int do_reset(struct cmd_tbl *cmdtp, int flag, int argc,
char *const argv[])
}
}
- printf("resetting ...\n");
+ printf("resetting (%s)...\n", get_reset_type_str(reset_type));
NACK, this is potentially misleading as sysreset drivers can end up
performing something different (see sysreset_walk_arg() just below).
Cheers,
Quentin