]> Pileus Git - ~andy/linux/blobdiff - drivers/spi/spi-bfin-sport.c
Merge remote-tracking branch 'spi/topic/bfin' into spi-next
[~andy/linux] / drivers / spi / spi-bfin-sport.c
index 7b2cda0747d5f4756d20f9f7bfaba91402c38f25..38941e5920b50fe2bb9455cc9392fe6803db6355 100644 (file)
@@ -879,11 +879,10 @@ static int bfin_sport_spi_remove(struct platform_device *pdev)
        return 0;
 }
 
-#ifdef CONFIG_PM
-static int
-bfin_sport_spi_suspend(struct platform_device *pdev, pm_message_t state)
+#ifdef CONFIG_PM_SLEEP
+static int bfin_sport_spi_suspend(struct device *dev)
 {
-       struct bfin_sport_spi_master_data *drv_data = platform_get_drvdata(pdev);
+       struct bfin_sport_spi_master_data *drv_data = dev_get_drvdata(dev);
        int status;
 
        status = bfin_sport_spi_stop_queue(drv_data);
@@ -896,10 +895,9 @@ bfin_sport_spi_suspend(struct platform_device *pdev, pm_message_t state)
        return status;
 }
 
-static int
-bfin_sport_spi_resume(struct platform_device *pdev)
+static int bfin_sport_spi_resume(struct device *dev)
 {
-       struct bfin_sport_spi_master_data *drv_data = platform_get_drvdata(pdev);
+       struct bfin_sport_spi_master_data *drv_data = dev_get_drvdata(dev);
        int status;
 
        /* Enable the SPI interface */
@@ -912,19 +910,22 @@ bfin_sport_spi_resume(struct platform_device *pdev)
 
        return status;
 }
+
+static SIMPLE_DEV_PM_OPS(bfin_sport_spi_pm_ops, bfin_sport_spi_suspend,
+                       bfin_sport_spi_resume);
+
+#define BFIN_SPORT_SPI_PM_OPS          (&bfin_sport_spi_pm_ops)
 #else
-# define bfin_sport_spi_suspend NULL
-# define bfin_sport_spi_resume  NULL
+#define BFIN_SPORT_SPI_PM_OPS          NULL
 #endif
 
 static struct platform_driver bfin_sport_spi_driver = {
        .driver = {
-               .name = DRV_NAME,
-               .owner = THIS_MODULE,
+               .name   = DRV_NAME,
+               .owner  = THIS_MODULE,
+               .pm     = BFIN_SPORT_SPI_PM_OPS,
        },
        .probe   = bfin_sport_spi_probe,
        .remove  = bfin_sport_spi_remove,
-       .suspend = bfin_sport_spi_suspend,
-       .resume  = bfin_sport_spi_resume,
 };
 module_platform_driver(bfin_sport_spi_driver);