dm: serial: Support CONFIG_CONS_INDEX if available

Try to use this option to select the correct uart for the console. This
mimics the behaviour of drivers/serial.c.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
master
Simon Glass 11 years ago
parent 11c1a87893
commit 91155c6560
  1. 11
      drivers/serial/serial-uclass.c

@ -50,13 +50,22 @@ static void serial_find_console_or_panic(void)
} }
#endif #endif
/* /*
* Try to use CONFIG_CONS_INDEX if available (it is numbered from 1!).
*
* Failing that, get the device with sequence number 0, or in extremis * Failing that, get the device with sequence number 0, or in extremis
* just the first serial device we can find. But we insist on having * just the first serial device we can find. But we insist on having
* a console (even if it is silent). * a console (even if it is silent).
*/ */
if (uclass_get_device_by_seq(UCLASS_SERIAL, 0, &cur_dev) && #ifdef CONFIG_CONS_INDEX
#define INDEX (CONFIG_CONS_INDEX - 1)
#else
#define INDEX 0
#endif
if (uclass_get_device_by_seq(UCLASS_SERIAL, INDEX, &cur_dev) &&
uclass_get_device(UCLASS_SERIAL, INDEX, &cur_dev) &&
(uclass_first_device(UCLASS_SERIAL, &cur_dev) || !cur_dev)) (uclass_first_device(UCLASS_SERIAL, &cur_dev) || !cur_dev))
panic("No serial driver found"); panic("No serial driver found");
#undef INDEX
} }
/* Called prior to relocation */ /* Called prior to relocation */

Loading…
Cancel
Save