[PATCH 4/8] console: introduce startup and shutdown

Sascha Hauer s.hauer at pengutronix.de
Fri Sep 27 04:55:09 EDT 2013


On Fri, Sep 27, 2013 at 09:14:14AM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> so enable the uart only if used
> so linux can detect the right one enable if it want
> 
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> ---
>  common/console.c        |  6 ++++++
>  common/console_common.c | 36 ++++++++++++++++++++++++++++++++++++
>  common/console_simple.c |  3 +++
>  include/console.h       |  4 ++++
>  4 files changed, 49 insertions(+)
> 
> diff --git a/common/console.c b/common/console.c
> index 56bc864..00fd2cf 100644
> --- a/common/console.c
> +++ b/common/console.c
> @@ -83,8 +83,14 @@ static int console_std_set(struct device_d *dev, struct param_d *param,
>  
>  	if (flag && !cdev->f_active) {
>  		/* The device is being activated, set its baudrate */
> +		if (cdev->startup)
> +			cdev->startup(cdev);
>  		if (cdev->setbrg)
>  			cdev->setbrg(cdev, cdev->baudrate);
> +	} else if (!flag && cdev->f_active) {
> +		/* The device is being desactivated, shutdown it */

		/* The device is being deactivated, shut it down */

> +
> +int console_open(struct console_device *cdev)
> +{
> +	int ret;
> +
> +	if (cdev->f_active)
> +		return 0;
> +
> +	if (cdev->startup) {
> +		ret = cdev->startup(cdev);
> +		if (ret)
> +			return ret;
> +	}
> +
> +	if (cdev->setbrg) {
> +		cdev->baudrate = CONFIG_BAUDRATE;

I believe cdev->baudrate should be set only once during initialization.
When I deactivate a console and activate it again I don't expect the
baudrate to be changed to it's default value.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list