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

index d85882d..c14e30c 100644 (file)
@@ -803,20 +803,6 @@ static int tegra_spi_setup(struct spi_device *spi)
        return 0;
 }
 
-static int tegra_spi_prepare_transfer(struct spi_master *spi)
-{
-       struct tegra_spi_data *tspi = spi_master_get_devdata(spi);
-       int ret;
-
-       ret = pm_runtime_get_sync(tspi->dev);
-       if (ret < 0) {
-               dev_err(tspi->dev, "runtime PM get failed: %d\n", ret);
-               return ret;
-       }
-
-       return ret;
-}
-
 static int tegra_spi_transfer_one_message(struct spi_master *master,
                        struct spi_message *msg)
 {
@@ -870,15 +856,6 @@ exit:
        return ret;
 }
 
-static int tegra_spi_unprepare_transfer(struct spi_master *spi)
-{
-       struct tegra_spi_data *tspi = spi_master_get_devdata(spi);
-
-       pm_runtime_put(tspi->dev);
-
-       return 0;
-}
-
 static irqreturn_t handle_cpu_based_xfer(struct tegra_spi_data *tspi)
 {
        struct spi_transfer *t = tspi->curr_xfer;
@@ -1064,11 +1041,10 @@ static int tegra_spi_probe(struct platform_device *pdev)
        /* the spi->mode bits understood by this driver: */
        master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH;
        master->setup = tegra_spi_setup;
-       master->prepare_transfer_hardware = tegra_spi_prepare_transfer;
        master->transfer_one_message = tegra_spi_transfer_one_message;
-       master->unprepare_transfer_hardware = tegra_spi_unprepare_transfer;
        master->num_chipselect = MAX_CHIP_SELECT;
        master->bus_num = -1;
+       master->auto_runtime_pm = true;
 
        tspi->master = master;
        tspi->dev = &pdev->dev;