]> Pileus Git - ~andy/linux/blobdiff - drivers/spi/spi-tegra114.c
Merge remote-tracking branch 'spi/topic/tle62x0' into spi-next
[~andy/linux] / drivers / spi / spi-tegra114.c
index d85882da85325bf88b97ae4eb1cf83440119d28e..145dd435483b2d12e304ce3bb46f97a2f4baab4e 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,29 +1041,22 @@ 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;
        spin_lock_init(&tspi->lock);
 
        r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!r) {
-               dev_err(&pdev->dev, "No IO memory resource\n");
-               ret = -ENODEV;
-               goto exit_free_master;
-       }
-       tspi->phys = r->start;
        tspi->base = devm_ioremap_resource(&pdev->dev, r);
        if (IS_ERR(tspi->base)) {
                ret = PTR_ERR(tspi->base);
-               dev_err(&pdev->dev, "ioremap failed: err = %d\n", ret);
                goto exit_free_master;
        }
+       tspi->phys = r->start;
 
        spi_irq = platform_get_irq(pdev, 0);
        tspi->irq = spi_irq;