serdev controllers may depend on other devices (such as multiplexers) and thus require deferred probing support. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> --- drivers/tty/serial/serial_core.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c index f534a40..30a8997 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -2785,6 +2785,10 @@ int uart_add_one_port(struct uart_driver *drv, struct uart_port *uport) uport->line, uport->dev, port, uport->tty_groups); if (likely(!IS_ERR(tty_dev))) { device_set_wakeup_capable(tty_dev, 1); + } else if (PTR_ERR(tty_dev) == -EPROBE_DEFER) { + ret = -EPROBE_DEFER; + state->uart_port = NULL; + goto out; } else { dev_err(uport->dev, "Cannot register tty device on line %d\n", uport->line); -- 2.7.4