mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
Merge branch 'master' into devel
This commit is contained in:
commit
87d721ad7a
908 changed files with 12536 additions and 7059 deletions
|
|
@ -111,29 +111,32 @@ static int s3c24xx_spi_setupxfer(struct spi_device *spi,
|
|||
unsigned int bpw;
|
||||
unsigned int hz;
|
||||
unsigned int div;
|
||||
unsigned long clk;
|
||||
|
||||
bpw = t ? t->bits_per_word : spi->bits_per_word;
|
||||
hz = t ? t->speed_hz : spi->max_speed_hz;
|
||||
|
||||
if (!bpw)
|
||||
bpw = 8;
|
||||
|
||||
if (!hz)
|
||||
hz = spi->max_speed_hz;
|
||||
|
||||
if (bpw != 8) {
|
||||
dev_err(&spi->dev, "invalid bits-per-word (%d)\n", bpw);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
div = clk_get_rate(hw->clk) / hz;
|
||||
|
||||
/* is clk = pclk / (2 * (pre+1)), or is it
|
||||
* clk = (pclk * 2) / ( pre + 1) */
|
||||
|
||||
div /= 2;
|
||||
|
||||
if (div > 0)
|
||||
div -= 1;
|
||||
clk = clk_get_rate(hw->clk);
|
||||
div = DIV_ROUND_UP(clk, hz * 2) - 1;
|
||||
|
||||
if (div > 255)
|
||||
div = 255;
|
||||
|
||||
dev_dbg(&spi->dev, "setting pre-scaler to %d (hz %d)\n", div, hz);
|
||||
dev_dbg(&spi->dev, "setting pre-scaler to %d (wanted %d, got %ld)\n",
|
||||
div, hz, clk / (2 * (div + 1)));
|
||||
|
||||
|
||||
writeb(div, hw->regs + S3C2410_SPPRE);
|
||||
|
||||
spin_lock(&hw->bitbang.lock);
|
||||
|
|
|
|||
Loading…
Reference in a new issue