spi/tegra20-sflash: Use core runtime PM
authorMark Brown <broonie@linaro.org>
Sun, 28 Jul 2013 14:37:46 +0000 (15:37 +0100)
committerMark Brown <broonie@linaro.org>
Mon, 29 Jul 2013 17:00:26 +0000 (18:00 +0100)
Signed-off-by: Mark Brown <broonie@linaro.org>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
drivers/spi/spi-tegra20-sflash.c

index f871c4e..1d814dc 100644 (file)
@@ -325,20 +325,6 @@ static int tegra_sflash_setup(struct spi_device *spi)
        return 0;
 }
 
-static int tegra_sflash_prepare_transfer(struct spi_master *spi)
-{
-       struct tegra_sflash_data *tsd = spi_master_get_devdata(spi);
-       int ret;
-
-       ret = pm_runtime_get_sync(tsd->dev);
-       if (ret < 0) {
-               dev_err(tsd->dev, "runtime PM get failed: %d\n", ret);
-               return ret;
-       }
-
-       return ret;
-}
-
 static int tegra_sflash_transfer_one_message(struct spi_master *master,
                        struct spi_message *msg)
 {
@@ -391,15 +377,6 @@ exit:
        return ret;
 }
 
-static int tegra_sflash_unprepare_transfer(struct spi_master *spi)
-{
-       struct tegra_sflash_data *tsd = spi_master_get_devdata(spi);
-
-       pm_runtime_put(tsd->dev);
-
-       return 0;
-}
-
 static irqreturn_t handle_cpu_based_xfer(struct tegra_sflash_data *tsd)
 {
        struct spi_transfer *t = tsd->curr_xfer;
@@ -492,9 +469,8 @@ static int tegra_sflash_probe(struct platform_device *pdev)
        /* the spi->mode bits understood by this driver: */
        master->mode_bits = SPI_CPOL | SPI_CPHA;
        master->setup = tegra_sflash_setup;
-       master->prepare_transfer_hardware = tegra_sflash_prepare_transfer;
        master->transfer_one_message = tegra_sflash_transfer_one_message;
-       master->unprepare_transfer_hardware = tegra_sflash_unprepare_transfer;
+       master->auto_runtime_pm = true;
        master->num_chipselect = MAX_CHIP_SELECT;
        master->bus_num = -1;