Loading arch/arc/boot/dts/angel4.dts +1 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ interrupt-parent = <&intc>; chosen { bootargs = "console=ttyARC0,115200n8 earlyprintk=ttyARC0"; bootargs = "earlycon=arc_uart,mmio32,0xc0fc1000,115200n8 console=ttyARC0,115200n8"; }; aliases { Loading drivers/tty/serial/arc_uart.c +12 −75 Original line number Diff line number Diff line Loading @@ -492,18 +492,9 @@ static int arc_uart_init_one(struct platform_device *pdev, int dev_id) { struct resource *res, *res2; unsigned long *plat_data; struct arc_uart_port *uart = &arc_uart_ports[dev_id]; struct uart_port *port = &uart->port; plat_data = dev_get_platdata(&pdev->dev); if (!plat_data) return -ENODEV; if (is_early_platform_device(pdev)) { port->uartclk = plat_data[1]; uart->baud = plat_data[2]; } else { struct device_node *np = pdev->dev.of_node; u32 val; Loading @@ -518,7 +509,6 @@ arc_uart_init_one(struct platform_device *pdev, int dev_id) return -EINVAL; } uart->baud = val; } res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!res) Loading Loading @@ -607,38 +597,6 @@ static struct console arc_console = { .data = &arc_uart_driver }; static __init void early_serial_write(struct console *con, const char *s, unsigned int n) { struct uart_port *port = &arc_uart_ports[con->index].port; uart_console_write(port, s, n, arc_serial_poll_putchar); } static struct console arc_early_serial_console __initdata = { .name = "early_ARCuart", .write = early_serial_write, .flags = CON_PRINTBUFFER | CON_BOOT, .index = -1 }; static int __init arc_serial_probe_earlyprintk(struct platform_device *pdev) { int dev_id = pdev->id < 0 ? 0 : pdev->id; int rc; arc_early_serial_console.index = dev_id; rc = arc_uart_init_one(pdev, dev_id); if (rc) panic("early console init failed\n"); arc_serial_console_setup(&arc_early_serial_console, NULL); register_console(&arc_early_serial_console); return 0; } static __init void arc_early_serial_write(struct console *con, const char *s, unsigned int n) { Loading Loading @@ -713,27 +671,6 @@ static struct platform_driver arc_platform_driver = { }, }; #ifdef CONFIG_SERIAL_ARC_CONSOLE static struct platform_driver early_arc_platform_driver __initdata = { .probe = arc_serial_probe_earlyprintk, .remove = arc_serial_remove, .driver = { .name = DRIVER_NAME, .owner = THIS_MODULE, }, }; /* * Register an early platform driver of "earlyprintk" class. * ARCH platform code installs the driver and probes the early devices * The installation could rely on user specifying earlyprintk=xyx in cmd line * or it could be done independently, for all "earlyprintk" class drivers. * [see arch/arc/plat-arcfpga/platform.c] */ early_platform_init("earlyprintk", &early_arc_platform_driver); #endif /* CONFIG_SERIAL_ARC_CONSOLE */ static int __init arc_serial_init(void) { int ret; Loading Loading
arch/arc/boot/dts/angel4.dts +1 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ interrupt-parent = <&intc>; chosen { bootargs = "console=ttyARC0,115200n8 earlyprintk=ttyARC0"; bootargs = "earlycon=arc_uart,mmio32,0xc0fc1000,115200n8 console=ttyARC0,115200n8"; }; aliases { Loading
drivers/tty/serial/arc_uart.c +12 −75 Original line number Diff line number Diff line Loading @@ -492,18 +492,9 @@ static int arc_uart_init_one(struct platform_device *pdev, int dev_id) { struct resource *res, *res2; unsigned long *plat_data; struct arc_uart_port *uart = &arc_uart_ports[dev_id]; struct uart_port *port = &uart->port; plat_data = dev_get_platdata(&pdev->dev); if (!plat_data) return -ENODEV; if (is_early_platform_device(pdev)) { port->uartclk = plat_data[1]; uart->baud = plat_data[2]; } else { struct device_node *np = pdev->dev.of_node; u32 val; Loading @@ -518,7 +509,6 @@ arc_uart_init_one(struct platform_device *pdev, int dev_id) return -EINVAL; } uart->baud = val; } res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!res) Loading Loading @@ -607,38 +597,6 @@ static struct console arc_console = { .data = &arc_uart_driver }; static __init void early_serial_write(struct console *con, const char *s, unsigned int n) { struct uart_port *port = &arc_uart_ports[con->index].port; uart_console_write(port, s, n, arc_serial_poll_putchar); } static struct console arc_early_serial_console __initdata = { .name = "early_ARCuart", .write = early_serial_write, .flags = CON_PRINTBUFFER | CON_BOOT, .index = -1 }; static int __init arc_serial_probe_earlyprintk(struct platform_device *pdev) { int dev_id = pdev->id < 0 ? 0 : pdev->id; int rc; arc_early_serial_console.index = dev_id; rc = arc_uart_init_one(pdev, dev_id); if (rc) panic("early console init failed\n"); arc_serial_console_setup(&arc_early_serial_console, NULL); register_console(&arc_early_serial_console); return 0; } static __init void arc_early_serial_write(struct console *con, const char *s, unsigned int n) { Loading Loading @@ -713,27 +671,6 @@ static struct platform_driver arc_platform_driver = { }, }; #ifdef CONFIG_SERIAL_ARC_CONSOLE static struct platform_driver early_arc_platform_driver __initdata = { .probe = arc_serial_probe_earlyprintk, .remove = arc_serial_remove, .driver = { .name = DRIVER_NAME, .owner = THIS_MODULE, }, }; /* * Register an early platform driver of "earlyprintk" class. * ARCH platform code installs the driver and probes the early devices * The installation could rely on user specifying earlyprintk=xyx in cmd line * or it could be done independently, for all "earlyprintk" class drivers. * [see arch/arc/plat-arcfpga/platform.c] */ early_platform_init("earlyprintk", &early_arc_platform_driver); #endif /* CONFIG_SERIAL_ARC_CONSOLE */ static int __init arc_serial_init(void) { int ret; Loading