Message ID | 1377701263-3319-2-git-send-email-julien.grall@linaro.org |
---|---|
State | Accepted, archived |
Headers | show |
~/On Wed, 2013-08-28 at 15:47 +0100, Julien Grall wrote: > 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@linaro.org> > Acked-by: Ian Cambell <ian.campbell@citrix.com> Fixed the spelling of my name and applied. (nb, it was wrong in at least one subsequent patch I looked at too)
On 09/06/2013 02:08 PM, Ian Campbell wrote: > ~/On Wed, 2013-08-28 at 15:47 +0100, Julien Grall wrote: >> 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@linaro.org> >> Acked-by: Ian Cambell <ian.campbell@citrix.com> > > Fixed the spelling of my name and applied. > > (nb, it was wrong in at least one subsequent patch I looked at too) > Sorry, I will check the other patches.
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 ( !dev ) { - early_printk("Unable to find device \"%s\"\n", devalias); + early_printk("Unable to find device \"%s\"\n", devpath); return; }