i2c: pxa: fix i2c_pxa_scream_blue_murder() debug output
authorRussell King <rmk+kernel@armlinux.org.uk>
Mon, 27 Apr 2020 18:49:22 +0000 (19:49 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 Jun 2020 15:50:24 +0000 (17:50 +0200)
[ Upstream commit 88b73ee7ca4c90baf136ed5a8377fc5a9b73ac08 ]

The IRQ log output is supposed to appear on a single line.  However,
commit 3a2dc1677b60 ("i2c: pxa: Update debug function to dump more info
on error") resulted in it being printed one-entry-per-line, which is
excessively long.

Fixing this is not a trivial matter; using pr_cont() doesn't work as
the previous dev_dbg() may not have been compiled in, or may be
dynamic.

Since the rest of this function output is at error level, and is also
debug output, promote this to error level as well to avoid this
problem.

Reduce the number of always zero prefix digits to save screen real-
estate.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/i2c/busses/i2c-pxa.c

index c9cbc98..d0c557c 100644 (file)
@@ -312,11 +312,10 @@ static void i2c_pxa_scream_blue_murder(struct pxa_i2c *i2c, const char *why)
        dev_err(dev, "IBMR: %08x IDBR: %08x ICR: %08x ISR: %08x\n",
                readl(_IBMR(i2c)), readl(_IDBR(i2c)), readl(_ICR(i2c)),
                readl(_ISR(i2c)));
-       dev_dbg(dev, "log: ");
+       dev_err(dev, "log:");
        for (i = 0; i < i2c->irqlogidx; i++)
-               pr_debug("[%08x:%08x] ", i2c->isrlog[i], i2c->icrlog[i]);
-
-       pr_debug("\n");
+               pr_cont(" [%03x:%05x]", i2c->isrlog[i], i2c->icrlog[i]);
+       pr_cont("\n");
 }
 
 #else /* ifdef DEBUG */