Re: [U-Boot] [PATCH v2 04/18] dm: serial: Don't support CONFIG_CONS_INDEX with device tree

2015-06-11 Thread Simon Glass
On 12 May 2015 at 14:55, Simon Glass s...@chromium.org wrote:
 This feature should be deprecated for new boards, and significantly adds
 to SPL code size. Drop it. Instead, we can use stdout-path in the /chosen
 node.

 Signed-off-by: Simon Glass s...@chromium.org
 ---

 Changes in v2: None

  drivers/serial/serial-uclass.c | 69 
 ++
  1 file changed, 37 insertions(+), 32 deletions(-)

Applied to u-boot-dm.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v2 04/18] dm: serial: Don't support CONFIG_CONS_INDEX with device tree

2015-05-12 Thread Simon Glass
This feature should be deprecated for new boards, and significantly adds
to SPL code size. Drop it. Instead, we can use stdout-path in the /chosen
node.

Signed-off-by: Simon Glass s...@chromium.org
---

Changes in v2: None

 drivers/serial/serial-uclass.c | 69 ++
 1 file changed, 37 insertions(+), 32 deletions(-)

diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c
index b8c2f48..5674d5e 100644
--- a/drivers/serial/serial-uclass.c
+++ b/drivers/serial/serial-uclass.c
@@ -30,49 +30,54 @@ static const unsigned long baudrate_table[] = 
CONFIG_SYS_BAUDRATE_TABLE;
 static void serial_find_console_or_panic(void)
 {
struct udevice *dev;
-
-#ifdef CONFIG_OF_CONTROL
int node;
 
-   /* Check for a chosen console */
-   node = fdtdec_get_chosen_node(gd-fdt_blob, stdout-path);
-   if (node  0)
-   node = fdt_path_offset(gd-fdt_blob, console);
-   if (!uclass_get_device_by_of_offset(UCLASS_SERIAL, node, dev)) {
-   gd-cur_serial_dev = dev;
-   return;
-   }
-
-   /*
-* If the console is not marked to be bound before relocation, bind
-* it anyway.
-*/
-   if (node  0 
-   !lists_bind_fdt(gd-dm_root, gd-fdt_blob, node, dev)) {
-   if (!device_probe(dev)) {
+   if (OF_CONTROL) {
+   /* Check for a chosen console */
+   node = fdtdec_get_chosen_node(gd-fdt_blob, stdout-path);
+   if (node  0)
+   node = fdt_path_offset(gd-fdt_blob, console);
+   if (!uclass_get_device_by_of_offset(UCLASS_SERIAL, node,
+   dev)) {
gd-cur_serial_dev = dev;
return;
}
-   }
-#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 the console is not marked to be bound before relocation,
+   * bind it anyway.
+   */
+   if (node  0 
+   !lists_bind_fdt(gd-dm_root, gd-fdt_blob, node, dev)) {
+   if (!device_probe(dev)) {
+   gd-cur_serial_dev = dev;
+   return;
+   }
+   }
+   } else {
+   /*
+   * 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).
+   */
 #ifdef CONFIG_CONS_INDEX
 #define INDEX (CONFIG_CONS_INDEX - 1)
 #else
 #define INDEX 0
 #endif
-   if (uclass_get_device_by_seq(UCLASS_SERIAL, INDEX, dev) 
-   uclass_get_device(UCLASS_SERIAL, INDEX, dev) 
-   (uclass_first_device(UCLASS_SERIAL, dev) || !dev))
-   panic_str(No serial driver found);
+   if (!uclass_get_device_by_seq(UCLASS_SERIAL, INDEX, dev) ||
+   !uclass_get_device(UCLASS_SERIAL, INDEX, dev) ||
+   (!uclass_first_device(UCLASS_SERIAL, dev) || dev)) {
+   gd-cur_serial_dev = dev;
+   return;
+   }
 #undef INDEX
-   gd-cur_serial_dev = dev;
+   }
+
+   panic_str(No serial driver found);
 }
 
 /* Called prior to relocation */
-- 
2.2.0.rc0.207.ga3a616c

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot