|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH V1 17/29] xen/arm: Mark each device used by Xen as disabled in DOM0 FDT
Hi Julien
> On some board, there is no alias to the UART. To avoid modification in
> the device tree, dt-uart should also search device by path.
>
> To distinguish an alias from a path, dt-uart will check the first character.
> If it's a / then it's path, otherwise it's an alias.
>
> Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
> Acked-by: Ian Cambell <ian.campbell@xxxxxxxxxx>
> ---
> xen/drivers/char/dt-uart.c | 16 ++++++++++------
> 1 file changed, 10 insertions(+), 6 deletions(-)
>
> diff --git a/xen/drivers/char/dt-uart.c b/xen/drivers/char/dt-uart.c
> index 93bb0f5..d7204fb 100644
> --- a/xen/drivers/char/dt-uart.c
> +++ b/xen/drivers/char/dt-uart.c
> @@ -26,9 +26,10 @@
>
> /*
> * Configure UART port with a string:
> - * alias,options
> + * path,options
> *
> - * @alias: alias used in the device tree for the UART
> + * @path: full path used in the device tree for the UART. If the path
> + * doesn't start with '/', we assuming that it's an alias.
> * @options: UART speficic options (see in each UART driver)
> */
> static char __initdata opt_dtuart[30] = "";
> @@ -38,7 +39,7 @@ void __init dt_uart_init(void)
> {
> struct dt_device_node *dev;
> int ret;
> - const char *devalias = opt_dtuart;
> + const char *devpath = opt_dtuart;
> char *options;
>
> if ( !console_has("dtuart") || !strcmp(opt_dtuart, "") )
> @@ -53,12 +54,15 @@ void __init dt_uart_init(void)
> else
> options = "";
>
> - early_printk("Looking for UART console %s\n", devalias);
> - dev = dt_find_node_by_alias(devalias);
> + early_printk("Looking for UART console %s\n", devpath);
> + if ( *devpath == '/' )
> + dev = dt_find_node_by_path(devpath);
> + else
> + dev = dt_find_node_by_alias(devpath);
if '/' start an alias, it should be
+ if ( *devpath == '/' )
+ dev = dt_find_node_by_alias(devpath);
+ else
+ dev = dt_find_node_by_path(devpath);
bamvor
>
> if ( !dev )
> {
> - early_printk("Unable to find device \"%s\"\n", devalias);
> + early_printk("Unable to find device \"%s\"\n", devpath);
> return;
> }
>
> --
> 1.7.10.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |