aboutsummaryrefslogtreecommitdiff
path: root/drivers/serial/serial-uclass.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2023-04-07 10:44:19 -0400
committerTom Rini <trini@konsulko.com>2023-04-07 10:44:19 -0400
commit340bebf9c799793affefd166875d5776744988bd (patch)
tree193a646521cf659f333c5e1c11745116259b0477 /drivers/serial/serial-uclass.c
parentb0b77fdf3d7d2c1a5e48c3971a677f14e372c164 (diff)
parenta554ee7edee8e10b38c6899ad8556daf58ca3afe (diff)
Merge branch '2023-04-06-assorted-updates'
- Make use of the semi-formal "fallthrough" mechanism, update env tools to use /run for lockfile, add 2048 game (as a way to test console changes), update some CONFIG option logic in Kconfig, have lmb command show regions in use, remove some duplicate serial code, add __gnu_thumb1_case_si code and fix m68k custodian email address.
Diffstat (limited to 'drivers/serial/serial-uclass.c')
-rw-r--r--drivers/serial/serial-uclass.c24
1 files changed, 10 insertions, 14 deletions
diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c
index 77d3f37372..067fae2614 100644
--- a/drivers/serial/serial-uclass.c
+++ b/drivers/serial/serial-uclass.c
@@ -31,7 +31,7 @@ static const unsigned long baudrate_table[] = CFG_SYS_BAUDRATE_TABLE;
static int serial_check_stdout(const void *blob, struct udevice **devp)
{
int node = -1;
- const char *str, *p, *name;
+ const char *str, *p;
int namelen;
/* Check for a chosen console */
@@ -39,20 +39,16 @@ static int serial_check_stdout(const void *blob, struct udevice **devp)
if (str) {
p = strchr(str, ':');
namelen = p ? p - str : strlen(str);
+ /*
+ * This also deals with things like
+ *
+ * stdout-path = "serial0:115200n8";
+ *
+ * since fdt_path_offset_namelen() treats a str not
+ * beginning with '/' as an alias and thus applies
+ * fdt_get_alias_namelen() to it.
+ */
node = fdt_path_offset_namelen(blob, str, namelen);
-
- if (node < 0) {
- /*
- * Deal with things like
- * stdout-path = "serial0:115200n8";
- *
- * We need to look up the alias and then follow it to
- * the correct node.
- */
- name = fdt_get_alias_namelen(blob, str, namelen);
- if (name)
- node = fdt_path_offset(blob, name);
- }
}
if (node < 0)