| From 3a3547cdae954ad1ab73afd6757789229f78669b Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz> |
| Date: Wed, 6 Mar 2019 17:54:03 +0100 |
| Subject: serial: ar933x_uart: Fix build failure with disabled console |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| [ Upstream commit 72ff51d8dd262d1fef25baedc2ac35116435be47 ] |
| |
| Andrey has reported on OpenWrt's bug tracking system[1], that he |
| currently can't use ar93xx_uart as pure serial UART without console |
| (CONFIG_SERIAL_8250_CONSOLE and CONFIG_SERIAL_AR933X_CONSOLE undefined), |
| because compilation ends with following error: |
| |
| ar933x_uart.c: In function 'ar933x_uart_console_write': |
| ar933x_uart.c:550:14: error: 'struct uart_port' has no |
| member named 'sysrq' |
| |
| So this patch moves all the code related to console handling behind |
| series of CONFIG_SERIAL_AR933X_CONSOLE ifdefs. |
| |
| 1. https://bugs.openwrt.org/index.php?do=details&task_id=2152 |
| |
| Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Cc: Jiri Slaby <jslaby@suse.com> |
| Cc: Andrey Batyiev <batyiev@gmail.com> |
| Reported-by: Andrey Batyiev <batyiev@gmail.com> |
| Tested-by: Andrey Batyiev <batyiev@gmail.com> |
| Signed-off-by: Petr Štetiar <ynezz@true.cz> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Sasha Levin (Microsoft) <sashal@kernel.org> |
| --- |
| drivers/tty/serial/ar933x_uart.c | 24 ++++++++---------------- |
| 1 file changed, 8 insertions(+), 16 deletions(-) |
| |
| diff --git a/drivers/tty/serial/ar933x_uart.c b/drivers/tty/serial/ar933x_uart.c |
| index db5df3d54818..3bdd56a1021b 100644 |
| --- a/drivers/tty/serial/ar933x_uart.c |
| +++ b/drivers/tty/serial/ar933x_uart.c |
| @@ -49,11 +49,6 @@ struct ar933x_uart_port { |
| struct clk *clk; |
| }; |
| |
| -static inline bool ar933x_uart_console_enabled(void) |
| -{ |
| - return IS_ENABLED(CONFIG_SERIAL_AR933X_CONSOLE); |
| -} |
| - |
| static inline unsigned int ar933x_uart_read(struct ar933x_uart_port *up, |
| int offset) |
| { |
| @@ -508,6 +503,7 @@ static const struct uart_ops ar933x_uart_ops = { |
| .verify_port = ar933x_uart_verify_port, |
| }; |
| |
| +#ifdef CONFIG_SERIAL_AR933X_CONSOLE |
| static struct ar933x_uart_port * |
| ar933x_console_ports[CONFIG_SERIAL_AR933X_NR_UARTS]; |
| |
| @@ -604,14 +600,7 @@ static struct console ar933x_uart_console = { |
| .index = -1, |
| .data = &ar933x_uart_driver, |
| }; |
| - |
| -static void ar933x_uart_add_console_port(struct ar933x_uart_port *up) |
| -{ |
| - if (!ar933x_uart_console_enabled()) |
| - return; |
| - |
| - ar933x_console_ports[up->port.line] = up; |
| -} |
| +#endif /* CONFIG_SERIAL_AR933X_CONSOLE */ |
| |
| static struct uart_driver ar933x_uart_driver = { |
| .owner = THIS_MODULE, |
| @@ -700,7 +689,9 @@ static int ar933x_uart_probe(struct platform_device *pdev) |
| baud = ar933x_uart_get_baud(port->uartclk, 0, AR933X_UART_MAX_STEP); |
| up->max_baud = min_t(unsigned int, baud, AR933X_UART_MAX_BAUD); |
| |
| - ar933x_uart_add_console_port(up); |
| +#ifdef CONFIG_SERIAL_AR933X_CONSOLE |
| + ar933x_console_ports[up->port.line] = up; |
| +#endif |
| |
| ret = uart_add_one_port(&ar933x_uart_driver, &up->port); |
| if (ret) |
| @@ -749,8 +740,9 @@ static int __init ar933x_uart_init(void) |
| { |
| int ret; |
| |
| - if (ar933x_uart_console_enabled()) |
| - ar933x_uart_driver.cons = &ar933x_uart_console; |
| +#ifdef CONFIG_SERIAL_AR933X_CONSOLE |
| + ar933x_uart_driver.cons = &ar933x_uart_console; |
| +#endif |
| |
| ret = uart_register_driver(&ar933x_uart_driver); |
| if (ret) |
| -- |
| 2.19.1 |
| |