aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2013-01-04 13:47:15 -0500
committerGrant Likely <grant.likely@secretlab.ca>2013-02-05 08:11:53 -0500
commitbeb96c2ad4cd5012e39587b960aa7e41661c78ca (patch)
treeb4ca8fb93b305e5454fea912df0104e7a748876e /drivers
parent059b8ffeee5b427949872bb6ed5db5ae0788054e (diff)
spi/tegra: remove checks for valid speed
SPI core make sure that all transfer has proper speed set before calling low level spi transfer. Hence, it is not require to have check in spi driver. Remove the check for speed validity from transfer and use it directly. Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/spi/spi-tegra20-sflash.c14
-rw-r--r--drivers/spi/spi-tegra20-slink.c6
2 files changed, 14 insertions, 6 deletions
diff --git a/drivers/spi/spi-tegra20-sflash.c b/drivers/spi/spi-tegra20-sflash.c
index 448a8cc71df3..9a42c158e245 100644
--- a/drivers/spi/spi-tegra20-sflash.c
+++ b/drivers/spi/spi-tegra20-sflash.c
@@ -269,9 +269,7 @@ static int tegra_sflash_start_transfer_one(struct spi_device *spi,
269 u32 speed; 269 u32 speed;
270 unsigned long command; 270 unsigned long command;
271 271
272 speed = t->speed_hz ? t->speed_hz : spi->max_speed_hz; 272 speed = t->speed_hz;
273 if (!speed)
274 speed = tsd->spi_max_frequency;
275 if (speed != tsd->cur_speed) { 273 if (speed != tsd->cur_speed) {
276 clk_set_rate(tsd->clk, speed); 274 clk_set_rate(tsd->clk, speed);
277 tsd->cur_speed = speed; 275 tsd->cur_speed = speed;
@@ -319,6 +317,15 @@ static int tegra_sflash_start_transfer_one(struct spi_device *spi,
319 return tegra_sflash_start_cpu_based_transfer(tsd, t); 317 return tegra_sflash_start_cpu_based_transfer(tsd, t);
320} 318}
321 319
320static int tegra_sflash_setup(struct spi_device *spi)
321{
322 struct tegra_sflash_data *tsd = spi_master_get_devdata(spi->master);
323
324 /* Set speed to the spi max fequency if spi device has not set */
325 spi->max_speed_hz = spi->max_speed_hz ? : tsd->spi_max_frequency;
326 return 0;
327}
328
322static int tegra_sflash_transfer_one_message(struct spi_master *master, 329static int tegra_sflash_transfer_one_message(struct spi_master *master,
323 struct spi_message *msg) 330 struct spi_message *msg)
324{ 331{
@@ -492,6 +499,7 @@ static int tegra_sflash_probe(struct platform_device *pdev)
492 499
493 /* the spi->mode bits understood by this driver: */ 500 /* the spi->mode bits understood by this driver: */
494 master->mode_bits = SPI_CPOL | SPI_CPHA; 501 master->mode_bits = SPI_CPOL | SPI_CPHA;
502 master->setup = tegra_sflash_setup;
495 master->transfer_one_message = tegra_sflash_transfer_one_message; 503 master->transfer_one_message = tegra_sflash_transfer_one_message;
496 master->num_chipselect = MAX_CHIP_SELECT; 504 master->num_chipselect = MAX_CHIP_SELECT;
497 master->bus_num = -1; 505 master->bus_num = -1;
diff --git a/drivers/spi/spi-tegra20-slink.c b/drivers/spi/spi-tegra20-slink.c
index 7a95bddfb604..8d51db8dea6d 100644
--- a/drivers/spi/spi-tegra20-slink.c
+++ b/drivers/spi/spi-tegra20-slink.c
@@ -725,9 +725,7 @@ static int tegra_slink_start_transfer_one(struct spi_device *spi,
725 unsigned long command2; 725 unsigned long command2;
726 726
727 bits_per_word = t->bits_per_word; 727 bits_per_word = t->bits_per_word;
728 speed = t->speed_hz ? t->speed_hz : spi->max_speed_hz; 728 speed = t->speed_hz;
729 if (!speed)
730 speed = tspi->spi_max_frequency;
731 if (speed != tspi->cur_speed) { 729 if (speed != tspi->cur_speed) {
732 clk_set_rate(tspi->clk, speed * 4); 730 clk_set_rate(tspi->clk, speed * 4);
733 tspi->cur_speed = speed; 731 tspi->cur_speed = speed;
@@ -838,6 +836,8 @@ static int tegra_slink_setup(struct spi_device *spi)
838 836
839 BUG_ON(spi->chip_select >= MAX_CHIP_SELECT); 837 BUG_ON(spi->chip_select >= MAX_CHIP_SELECT);
840 838
839 /* Set speed to the spi max fequency if spi device has not set */
840 spi->max_speed_hz = spi->max_speed_hz ? : tspi->spi_max_frequency;
841 ret = pm_runtime_get_sync(tspi->dev); 841 ret = pm_runtime_get_sync(tspi->dev);
842 if (ret < 0) { 842 if (ret < 0) {
843 dev_err(tspi->dev, "pm runtime failed, e = %d\n", ret); 843 dev_err(tspi->dev, "pm runtime failed, e = %d\n", ret);