diff options
Diffstat (limited to 'drivers/spi/spi-omap2-mcspi.c')
-rw-r--r-- | drivers/spi/spi-omap2-mcspi.c | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/drivers/spi/spi-omap2-mcspi.c b/drivers/spi/spi-omap2-mcspi.c index 5994039758de..ed4af4708d9a 100644 --- a/drivers/spi/spi-omap2-mcspi.c +++ b/drivers/spi/spi-omap2-mcspi.c | |||
@@ -335,23 +335,6 @@ static void omap2_mcspi_restore_ctx(struct omap2_mcspi *mcspi) | |||
335 | __raw_writel(cs->chconf0, cs->base + OMAP2_MCSPI_CHCONF0); | 335 | __raw_writel(cs->chconf0, cs->base + OMAP2_MCSPI_CHCONF0); |
336 | } | 336 | } |
337 | 337 | ||
338 | static int omap2_prepare_transfer(struct spi_master *master) | ||
339 | { | ||
340 | struct omap2_mcspi *mcspi = spi_master_get_devdata(master); | ||
341 | |||
342 | pm_runtime_get_sync(mcspi->dev); | ||
343 | return 0; | ||
344 | } | ||
345 | |||
346 | static int omap2_unprepare_transfer(struct spi_master *master) | ||
347 | { | ||
348 | struct omap2_mcspi *mcspi = spi_master_get_devdata(master); | ||
349 | |||
350 | pm_runtime_mark_last_busy(mcspi->dev); | ||
351 | pm_runtime_put_autosuspend(mcspi->dev); | ||
352 | return 0; | ||
353 | } | ||
354 | |||
355 | static int mcspi_wait_for_reg_bit(void __iomem *reg, unsigned long bit) | 338 | static int mcspi_wait_for_reg_bit(void __iomem *reg, unsigned long bit) |
356 | { | 339 | { |
357 | unsigned long timeout; | 340 | unsigned long timeout; |
@@ -1318,8 +1301,7 @@ static int omap2_mcspi_probe(struct platform_device *pdev) | |||
1318 | master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH; | 1301 | master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH; |
1319 | master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32); | 1302 | master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32); |
1320 | master->setup = omap2_mcspi_setup; | 1303 | master->setup = omap2_mcspi_setup; |
1321 | master->prepare_transfer_hardware = omap2_prepare_transfer; | 1304 | master->auto_runtime_pm = true; |
1322 | master->unprepare_transfer_hardware = omap2_unprepare_transfer; | ||
1323 | master->transfer_one_message = omap2_mcspi_transfer_one_message; | 1305 | master->transfer_one_message = omap2_mcspi_transfer_one_message; |
1324 | master->cleanup = omap2_mcspi_cleanup; | 1306 | master->cleanup = omap2_mcspi_cleanup; |
1325 | master->dev.of_node = node; | 1307 | master->dev.of_node = node; |
@@ -1340,7 +1322,7 @@ static int omap2_mcspi_probe(struct platform_device *pdev) | |||
1340 | if (of_get_property(node, "ti,pindir-d0-out-d1-in", NULL)) | 1322 | if (of_get_property(node, "ti,pindir-d0-out-d1-in", NULL)) |
1341 | mcspi->pin_dir = MCSPI_PINDIR_D0_OUT_D1_IN; | 1323 | mcspi->pin_dir = MCSPI_PINDIR_D0_OUT_D1_IN; |
1342 | } else { | 1324 | } else { |
1343 | pdata = pdev->dev.platform_data; | 1325 | pdata = dev_get_platdata(&pdev->dev); |
1344 | master->num_chipselect = pdata->num_cs; | 1326 | master->num_chipselect = pdata->num_cs; |
1345 | if (pdev->id != -1) | 1327 | if (pdev->id != -1) |
1346 | master->bus_num = pdev->id; | 1328 | master->bus_num = pdev->id; |