[PATCH] console: Obey "linux, stdout-path" parameter regardless of CONSOLE_ACTIVATE_XX

Sascha Hauer s.hauer at pengutronix.de
Fri Oct 25 19:57:41 EDT 2013


On Fri, Oct 25, 2013 at 07:23:48PM +0400, Alexander Shiyan wrote:
> Signed-off-by: Alexander Shiyan <shc_work at mail.ru>
> ---
>  common/console.c  |  4 ++--
>  drivers/of/base.c | 13 ++++---------
>  include/of.h      |  2 +-
>  3 files changed, 7 insertions(+), 12 deletions(-)
> 
> diff --git a/common/console.c b/common/console.c
> index 56bc864..2d31d71 100644
> --- a/common/console.c
> +++ b/common/console.c
> @@ -168,8 +168,8 @@ int console_register(struct console_device *newcdev)
>  		activate = 1;
>  	}
>  
> -	if (newcdev->dev && of_device_is_stdout_path(newcdev->dev))
> -		activate = 1;
> +	if (newcdev->dev)
> +		 check_of_device_is_stdout_path(newcdev->dev, &activate);
>  
>  	list_add_tail(&newcdev->list, &console_list);
>  
> diff --git a/drivers/of/base.c b/drivers/of/base.c
> index 116dd0c..6303b53 100644
> --- a/drivers/of/base.c
> +++ b/drivers/of/base.c
> @@ -1819,23 +1819,18 @@ void of_delete_node(struct device_node *node)
>  		of_set_root_node(NULL);
>  }
>  
> -int of_device_is_stdout_path(struct device_d *dev)
> +void check_of_device_is_stdout_path(struct device_d *dev, int *activate)
>  {
>  	struct device_node *dn;
>  	const char *name;
>  
>  	name = of_get_property(of_chosen, "linux,stdout-path", NULL);
>  	if (name == NULL)
> -		return 0;
> +		return;
>  
>  	dn = of_find_node_by_path(name);
> -	if (!dn)
> -		return 0;
> -
> -	if (dn == dev->device_node)
> -		return 1;
> -
> -	return 0;
> +	if (dn)
> +		*activate = dn == dev->device_node;
>  }

Can you elaborate why you need this patch? Normally on devicetree based
boards I set CONSOLE_ACTIVATE_NONE. In this case I think your patch
changes nothing. If you set CONSOLE_ACTIVATE_ALL or
CONSOLE_ACTIVATE_FIRST your patch seems to overwrite the Kconfig setting
with the devicetree setting. Why don't you set CONSOLE_ACTIVATE_NONE in
the first place?

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