Linux Serial subsystem development
 help / color / mirror / Atom feed
From: "Jürg Billeter" <j@bitron.ch>
To: geert+renesas@glider.be
Cc: linux-renesas-soc@vger.kernel.org, linux-serial@vger.kernel.org
Subject: sh-sci regression without scif_clk in 4.6-rc5
Date: Mon, 25 Apr 2016 14:24:41 +0200	[thread overview]
Message-ID: <1461587081.28870.2.camel@bitron.ch> (raw)

Hi Geert,

testing 4.6-rc5 on a custom R-Car H3 board, I noticed that the Linux
console attached to SCIF2 no longer works (it works on 4.5). earlycon
works fine, though. Unlike Salvator-X, this H3 board does not use an
external SCIF clock and thus, scif_clk is not enabled in the board
device tree.

The first "bad" commit is
commit 3e5dd6f6e690048d0fd1c913397506648724474e
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Fri Feb 26 16:54:31 2016 +0100

    clk: Ignore disabled DT clock providers

As far as I can tell, the issue is that, with the above commit,
devm_clk_get() returns -EPROBE_DEFER for disabled clocks and the sh-sci 
driver aborts probing with -EPROBE_DEFER even though scif_clk is
optional.

I can work around this issue with the patch below but I'm not sure
about the correct fix. Intuitively, I would expect devm_clk_get() to
return -ENOENT instead of -EPROBE_DEFER for disabled clocks but I don't
know whether this can be changed in the common clock framework without
risking issues in other places.

What do you think is the best solution to this issue?

Regards,
Jürg

diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
index 8e966d9..0916159 100644
--- a/drivers/tty/serial/sh-sci.c
+++ b/drivers/tty/serial/sh-sci.c
@@ -2462,7 +2462,7 @@ static int sci_init_clocks(struct sci_port *sci_port, struct device *dev)
 
        for (i = 0; i < SCI_NUM_CLKS; i++) {
                clk = devm_clk_get(dev, clk_names[i]);
-               if (PTR_ERR(clk) == -EPROBE_DEFER)
+               if (PTR_ERR(clk) == -EPROBE_DEFER && i != SCI_SCIF_CLK)
                        return -EPROBE_DEFER;
 
                if (IS_ERR(clk) && i == SCI_FCK) {

             reply	other threads:[~2016-04-25 12:24 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-25 12:24 Jürg Billeter [this message]
2016-04-25 12:44 ` sh-sci regression without scif_clk in 4.6-rc5 Geert Uytterhoeven

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1461587081.28870.2.camel@bitron.ch \
    --to=j@bitron.ch \
    --cc=geert+renesas@glider.be \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox