aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-07-28 10:37:46 -0400
committerMark Brown <broonie@linaro.org>2013-07-29 13:00:26 -0400
commit38315fd48d3de6e9a53b86dfd27684970cd092e9 (patch)
tree75b120c76833ee19f95ce2418597378bb92ee9f4
parent612aa5ced770b7ec02d37dd63fd4c7dd2f6e5f37 (diff)
spi/tegra20-sflash: Use core runtime PM
Signed-off-by: Mark Brown <broonie@linaro.org> Reviewed-by: Stephen Warren <swarren@nvidia.com>
-rw-r--r--drivers/spi/spi-tegra20-sflash.c26
1 files changed, 1 insertions, 25 deletions
diff --git a/drivers/spi/spi-tegra20-sflash.c b/drivers/spi/spi-tegra20-sflash.c
index f871c4ee6ad7..1d814dc6e000 100644
--- a/drivers/spi/spi-tegra20-sflash.c
+++ b/drivers/spi/spi-tegra20-sflash.c
@@ -325,20 +325,6 @@ static int tegra_sflash_setup(struct spi_device *spi)
325 return 0; 325 return 0;
326} 326}
327 327
328static int tegra_sflash_prepare_transfer(struct spi_master *spi)
329{
330 struct tegra_sflash_data *tsd = spi_master_get_devdata(spi);
331 int ret;
332
333 ret = pm_runtime_get_sync(tsd->dev);
334 if (ret < 0) {
335 dev_err(tsd->dev, "runtime PM get failed: %d\n", ret);
336 return ret;
337 }
338
339 return ret;
340}
341
342static int tegra_sflash_transfer_one_message(struct spi_master *master, 328static int tegra_sflash_transfer_one_message(struct spi_master *master,
343 struct spi_message *msg) 329 struct spi_message *msg)
344{ 330{
@@ -391,15 +377,6 @@ exit:
391 return ret; 377 return ret;
392} 378}
393 379
394static int tegra_sflash_unprepare_transfer(struct spi_master *spi)
395{
396 struct tegra_sflash_data *tsd = spi_master_get_devdata(spi);
397
398 pm_runtime_put(tsd->dev);
399
400 return 0;
401}
402
403static irqreturn_t handle_cpu_based_xfer(struct tegra_sflash_data *tsd) 380static irqreturn_t handle_cpu_based_xfer(struct tegra_sflash_data *tsd)
404{ 381{
405 struct spi_transfer *t = tsd->curr_xfer; 382 struct spi_transfer *t = tsd->curr_xfer;
@@ -492,9 +469,8 @@ static int tegra_sflash_probe(struct platform_device *pdev)
492 /* the spi->mode bits understood by this driver: */ 469 /* the spi->mode bits understood by this driver: */
493 master->mode_bits = SPI_CPOL | SPI_CPHA; 470 master->mode_bits = SPI_CPOL | SPI_CPHA;
494 master->setup = tegra_sflash_setup; 471 master->setup = tegra_sflash_setup;
495 master->prepare_transfer_hardware = tegra_sflash_prepare_transfer;
496 master->transfer_one_message = tegra_sflash_transfer_one_message; 472 master->transfer_one_message = tegra_sflash_transfer_one_message;
497 master->unprepare_transfer_hardware = tegra_sflash_unprepare_transfer; 473 master->auto_runtime_pm = true;
498 master->num_chipselect = MAX_CHIP_SELECT; 474 master->num_chipselect = MAX_CHIP_SELECT;
499 master->bus_num = -1; 475 master->bus_num = -1;
500 476