lkml.org 
[lkml]   [2019]   [May]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 10/32] serial: ar933x_uart: Fix build failure with disabled console
    Date
    [ 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 73137f4aac20..d4462512605b 100644
    --- a/drivers/tty/serial/ar933x_uart.c
    +++ b/drivers/tty/serial/ar933x_uart.c
    @@ -52,11 +52,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)
    {
    @@ -511,6 +506,7 @@ static 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];

    @@ -607,14 +603,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,
    @@ -703,7 +692,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)
    @@ -752,8 +743,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


    \
     
     \ /
      Last update: 2019-05-02 17:49    [W:4.074 / U:0.500 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site