From: Simon Glass Date: Thu, 23 Oct 2014 03:37:06 +0000 (-0600) Subject: dm: serial: Support CONFIG_CONS_INDEX if available X-Git-Tag: v2015.01-rc1~129^2~43 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=91155c65604904b2048f7ad79d8303eb9a27e351;p=u-boot 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 Reviewed-by: Tom Rini --- diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c index 1983a3d55b..c9383dcd00 100644 --- a/drivers/serial/serial-uclass.c +++ b/drivers/serial/serial-uclass.c @@ -50,13 +50,22 @@ static void serial_find_console_or_panic(void) } #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 * just the first serial device we can find. But we insist on having * 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)) panic("No serial driver found"); +#undef INDEX } /* Called prior to relocation */