From patchwork Mon Jul 17 15:24:34 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulrich Hecht X-Patchwork-Id: 9845483 X-Patchwork-Delegate: geert@linux-m68k.org Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id D34636037F for ; Mon, 17 Jul 2017 15:25:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C61E527480 for ; Mon, 17 Jul 2017 15:25:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BAF4928464; Mon, 17 Jul 2017 15:25:18 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.3 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7AFCE27480 for ; Mon, 17 Jul 2017 15:25:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751367AbdGQPZA (ORCPT ); Mon, 17 Jul 2017 11:25:00 -0400 Received: from mail-wr0-f195.google.com ([209.85.128.195]:34441 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751286AbdGQPYz (ORCPT ); Mon, 17 Jul 2017 11:24:55 -0400 Received: by mail-wr0-f195.google.com with SMTP id w4so1407921wrb.1; Mon, 17 Jul 2017 08:24:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=AL68WzQH86O95xEkbbeXLHgrbmyoa+eiaqaY6m4tWqQ=; b=Fm8lzCJQTvF6/SG9OuvIq3xsm/2/tl+3AuU3DgL1lt/cSqULjmvM0DKM9KDU4w0J/K w1V9x7yOCc083SSZEiCosFYdW0c7xhJOMK3mtAAgxgLSi0dnjDh/2hNgisPwlpaknzji jklICxh/UUI3ZxJpjjwah/lFiZr++Qy9llNjF3xSMUK7d608MVxG45SxaKCYvjuJKM1N J4H4RCSF+WrPcDX+6y/L6++fi6ZEsE0YXFsJVGqrYtAcNzvCw9c4FanTWCZuWAs++B3S USrpC3vbLqOTtfDMZRjpxWSmuuHUanfxOO9cOom1bZ5zJd9XNnfdSdqs4k/O0KTDxDkU FGCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=AL68WzQH86O95xEkbbeXLHgrbmyoa+eiaqaY6m4tWqQ=; b=okBy2vxbPdPk7RGiZLpe8sNhad9Z50s12ckbf0moImuFim1c/kAP3TI+/lmNe6nJ8x 9eU1gnmfkJrtLOfyxx8IaKEgvmkaQBtVivOtlYjHwxqAlGclJc8jDLsRQ6fT+TaYOOyr pToFgxbDhD5p8qR4K/GUAW7HAonUuQE4eoHjeRsPVdaxbQgsHGDAKZyu4HRbmuX4LpYn F1A0fT3pjJZnaPC/Ihglzy3Z5QYDJPPpsqH10d2zPiSQqyYs4BJZJbL0OhGCqDTTHmjd avAgWAe9P5Bc9kGHjHtQmYi7AlQHTloks9NCgIiMk9wqg2f6sxwjcccxwyDearWXdham V35Q== X-Gm-Message-State: AIVw113XOBpe2vrm9HB8VPqzuV5nt0WvNsZAzvrawosr3zMwbR/au3Eg L9TrPKc+QoZeQ06OgDg= X-Received: by 10.223.182.168 with SMTP id j40mr5836326wre.122.1500305094094; Mon, 17 Jul 2017 08:24:54 -0700 (PDT) Received: from groucho.site (ipbcc169a0.dynamic.kabel-deutschland.de. [188.193.105.160]) by smtp.gmail.com with ESMTPSA id 13sm10802102wrl.57.2017.07.17.08.24.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 17 Jul 2017 08:24:53 -0700 (PDT) From: Ulrich Hecht To: linux-serial@vger.kernel.org Cc: linux-renesas-soc@vger.kernel.org, magnus.damm@gmail.com, laurent.pinchart@ideasonboard.com, wsa@the-dreams.de, robh@kernel.org, peda@axentia.se, geert@linux-m68k.org, linux-i2c@vger.kernel.org, Ulrich Hecht Subject: [RFC v2 4/6] serial: core: support deferring serdev controller registration Date: Mon, 17 Jul 2017 17:24:34 +0200 Message-Id: <1500305076-15570-5-git-send-email-ulrich.hecht+renesas@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1500305076-15570-1-git-send-email-ulrich.hecht+renesas@gmail.com> References: <1500305076-15570-1-git-send-email-ulrich.hecht+renesas@gmail.com> Sender: linux-renesas-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-renesas-soc@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP serdev controllers may depend on other devices (such as multiplexers) and thus require deferred probing support. Signed-off-by: Ulrich Hecht --- 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);