summaryrefslogtreecommitdiffstats
path: root/drivers/spi
diff options
context:
space:
mode:
authorAnton Vorontsov <avorontsov@ru.mvista.com>2009-06-19 01:49:01 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2009-06-20 01:46:04 +0200
commitfd8a11e100b463811f41266ea3880c830f3359ea (patch)
treead26d74766e03088b6c783ed12f312668d32dd74 /drivers/spi
parentspi_mpc83xx: handle other Freescale processors (diff)
downloadlinux-fd8a11e100b463811f41266ea3880c830f3359ea.tar.xz
linux-fd8a11e100b463811f41266ea3880c830f3359ea.zip
spi_mpc83xx: quieten down the "Requested speed is too low" message
When a platform is running at high frequencies it's not always possible to scale-down a frequency to a requested value, and using mmc_spi driver this leads to the following printk flood during card polling: ... mmc_spi spi32766.0: Requested speed is too low: 400000 Hz. Will use 520828 Hz instead. mmc_spi spi32766.0: Requested speed is too low: 400000 Hz. Will use 520828 Hz instead. ... Fix this by using WARN_ONCE(), it's better than the flood, and also better than turning dev_err() into dev_dbg(), since we actually want to warn that some things may not work correctly. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Cc: Kumar Gala <galak@gate.crashing.org> Cc: David Brownell <david-b@pacbell.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi_mpc83xx.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/spi/spi_mpc83xx.c b/drivers/spi/spi_mpc83xx.c
index ce61be98e06d..4988230a7e0c 100644
--- a/drivers/spi/spi_mpc83xx.c
+++ b/drivers/spi/spi_mpc83xx.c
@@ -14,6 +14,7 @@
#include <linux/init.h>
#include <linux/types.h>
#include <linux/kernel.h>
+#include <linux/bug.h>
#include <linux/errno.h>
#include <linux/err.h>
#include <linux/completion.h>
@@ -275,12 +276,12 @@ int mpc83xx_spi_setup_transfer(struct spi_device *spi, struct spi_transfer *t)
if ((mpc83xx_spi->spibrg / hz) > 64) {
cs->hw_mode |= SPMODE_DIV16;
pm = mpc83xx_spi->spibrg / (hz * 64);
- if (pm > 16) {
- dev_err(&spi->dev, "Requested speed is too "
- "low: %d Hz. Will use %d Hz instead.\n",
- hz, mpc83xx_spi->spibrg / 1024);
+
+ WARN_ONCE(pm > 16, "%s: Requested speed is too low: %d Hz. "
+ "Will use %d Hz instead.\n", dev_name(&spi->dev),
+ hz, mpc83xx_spi->spibrg / 1024);
+ if (pm > 16)
pm = 16;
- }
} else
pm = mpc83xx_spi->spibrg / (hz * 4);
if (pm)