diff options
author | Mark Brown <broonie@linaro.org> | 2013-07-28 10:37:46 -0400 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-07-29 13:00:26 -0400 |
commit | 38315fd48d3de6e9a53b86dfd27684970cd092e9 (patch) | |
tree | 75b120c76833ee19f95ce2418597378bb92ee9f4 | |
parent | 612aa5ced770b7ec02d37dd63fd4c7dd2f6e5f37 (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.c | 26 |
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 | ||
328 | static 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 | |||
342 | static int tegra_sflash_transfer_one_message(struct spi_master *master, | 328 | static 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 | ||
394 | static 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 | |||
403 | static irqreturn_t handle_cpu_based_xfer(struct tegra_sflash_data *tsd) | 380 | static 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 | ||