mirror of https://gitee.com/openkylin/linux.git
spi: sh-hspi: Remove duplicate code to set default transfer speed
In the implementation of __spi_validate(), spi core will use spi device's max speed as default transfer speed if it is not set for this transfer. So we can remove the same logic in hspi_hw_setup(). Signed-off-by: Axel Lin <axel.lin@ingics.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
80d68ca5a5
commit
e428a42007
|
@ -111,14 +111,9 @@ static void hspi_hw_setup(struct hspi_priv *hspi,
|
|||
{
|
||||
struct spi_device *spi = msg->spi;
|
||||
struct device *dev = hspi->dev;
|
||||
u32 target_rate;
|
||||
u32 spcr, idiv_clk;
|
||||
u32 rate, best_rate, min, tmp;
|
||||
|
||||
target_rate = t ? t->speed_hz : 0;
|
||||
if (!target_rate)
|
||||
target_rate = spi->max_speed_hz;
|
||||
|
||||
/*
|
||||
* find best IDIV/CLKCx settings
|
||||
*/
|
||||
|
@ -138,7 +133,7 @@ static void hspi_hw_setup(struct hspi_priv *hspi,
|
|||
rate /= (((idiv_clk & 0x1F) + 1) * 2);
|
||||
|
||||
/* save best settings */
|
||||
tmp = abs(target_rate - rate);
|
||||
tmp = abs(t->speed_hz - rate);
|
||||
if (tmp < min) {
|
||||
min = tmp;
|
||||
spcr = idiv_clk;
|
||||
|
@ -151,7 +146,7 @@ static void hspi_hw_setup(struct hspi_priv *hspi,
|
|||
if (spi->mode & SPI_CPOL)
|
||||
spcr |= 1 << 6;
|
||||
|
||||
dev_dbg(dev, "speed %d/%d\n", target_rate, best_rate);
|
||||
dev_dbg(dev, "speed %d/%d\n", t->speed_hz, best_rate);
|
||||
|
||||
hspi_write(hspi, SPCR, spcr);
|
||||
hspi_write(hspi, SPSR, 0x0);
|
||||
|
|
Loading…
Reference in New Issue