summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/spi/mvebu_spi.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/spi/mvebu_spi.c b/drivers/spi/mvebu_spi.c
index 785dec2e56..3298b608fb 100644
--- a/drivers/spi/mvebu_spi.c
+++ b/drivers/spi/mvebu_spi.c
@@ -128,22 +128,22 @@ static int mvebu_spi_set_baudrate(struct mvebu_spi *p, u32 speed)
#if defined(CONFIG_ARCH_ARMADA_370) || defined(CONFIG_ARCH_ARMADA_XP)
static int armada_370_xp_spi_set_baudrate(struct mvebu_spi *p, u32 speed)
{
- u32 pscl, pdiv, rate, val;
+ u32 pscl, pdiv, val;
/* prescaler values: 1,2,3,...,15 */
pscl = DIV_ROUND_UP(clk_get_rate(p->clk), speed);
/* additional prescaler divider: 1, 2, 4, 8, 16, 32, 64, 128 */
- pdiv = 0; rate = pscl;
- while (rate > 15 && pdiv <= 7) {
- rate /= 2;
+ pdiv = 0;
+ while (pscl > 15 && pdiv <= 7) {
+ pscl = DIV_ROUND_UP(pscl, 2);
pdiv++;
}
dev_dbg(p->master.dev, "%s: clk = %lu, speed = %u, pscl = %d, pdiv = %d\n",
__func__, clk_get_rate(p->clk), speed, pscl, pdiv);
- if (rate > 15 || pdiv > 7)
+ if (pscl > 15 || pdiv > 7)
return -EINVAL;
val = readl(p->base + SPI_IF_CONFIG) & ~(IF_CLK_PRESCALE_MASK);