From e530202ed1c43f468e236add225e51080120ea56 Mon Sep 17 00:00:00 2001 From: patacongo Date: Mon, 28 Jan 2013 15:03:17 +0000 Subject: Serial driver needed even when no console; Fix user LED settings in all STM32 configurations git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5575 42af7a65-404d-4744-a932-0658087f49c3 --- nuttx/arch/sh/src/common/up_initialize.c | 22 +++++++++++++--------- nuttx/arch/sh/src/common/up_internal.h | 15 ++++++++++++++- 2 files changed, 27 insertions(+), 10 deletions(-) (limited to 'nuttx/arch/sh/src/common') diff --git a/nuttx/arch/sh/src/common/up_initialize.c b/nuttx/arch/sh/src/common/up_initialize.c index 3aef5c637..727dc1352 100644 --- a/nuttx/arch/sh/src/common/up_initialize.c +++ b/nuttx/arch/sh/src/common/up_initialize.c @@ -1,7 +1,7 @@ /**************************************************************************** * arch/sh/src/common/up_initialize.c * - * Copyright (C) 2008-2010, 2012 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2010, 2012-2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -136,16 +136,20 @@ void up_initialize(void) devnull_register(); /* Standard /dev/null */ #endif - /* Initialize the console device driver. NOTE that the naming - * implies that the console is a serial driver. That is usually the case, - * however, if no UARTs are enabled, the console could als be provided - * through some other device, such as an LCD. Architecture-specific logic - * will have to detect that case. + /* Initialize the serial device driver */ + +#ifdef USE_SERIALDRIVER + up_serialinit(); +#endif + + /* Initialize the console device driver (if it is other than the standard + * serial driver). NOTE that the naming implies that the console is a serial + * driver. That is usually the case, however, if no UARTs are enabled, the + * console could als be provided through some other device, such as an LCD. + * Architecture-specific logic will have to detect that case. */ -#if defined(USE_SERIALDRIVER) - up_consoleinit(); -#elif defined(CONFIG_DEV_LOWCONSOLE) +#if defined(CONFIG_DEV_LOWCONSOLE) lowconsole_init(); #elif defined(CONFIG_RAMLOG_CONSOLE) ramlog_consoleinit(); diff --git a/nuttx/arch/sh/src/common/up_internal.h b/nuttx/arch/sh/src/common/up_internal.h index f47b1078f..f56e97c97 100644 --- a/nuttx/arch/sh/src/common/up_internal.h +++ b/nuttx/arch/sh/src/common/up_internal.h @@ -1,7 +1,7 @@ /**************************************************************************** * arch/sh/src/common/up_internal.h * - * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2009, 2012-2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -67,6 +67,9 @@ * however, if no UARTs are enabled, the console could als be provided * through some other device, such as an LCD. Architecture-specific logic * will have to detect that case. + * + * If a console is enabled and no other console device is specified, then + * a serial console is assumed. */ #if !defined(CONFIG_DEV_CONSOLE) || CONFIG_NFILE_DESCRIPTORS <= 0 @@ -88,6 +91,16 @@ # endif #endif +/* If some other device is used as the console, then the serial driver may + * still be needed. Let's assume that if the upper half serial driver is + * built, then the lower half will also be needed. There is no need for + * the early serial initialization in this case. + */ + +#if !defined(USE_SERIALDRIVER) && defined(CONFIG_STANDARD_SERIAL) +# define USE_SERIALDRIVER 1 +#endif + /* Determine which device to use as the system logging device */ #ifndef CONFIG_SYSLOG -- cgit v1.2.3