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)
committerWolfram Sang <wsa@kernel.org>
Tue, 5 May 2020 12:50:55 +0000 (14:50 +0200)
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>
drivers/i2c/busses/i2c-pxa.c

index 902cda4ef8c9dc71616d79f1f9c2d3352e44f3b3..41047abe67bffa41b7b7c8bbefdf90c50f2f6f06 100644 (file)
@@ -363,11 +363,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 */