Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
[firefly-linux-kernel-4.4.55.git] / drivers / spi / spi-bfin5xx.c
index 45bdf73d6868e62d0efd5c16296d359400d05b17..f0f195af75d4d67815e6d550d54c5cf990d6813f 100644 (file)
@@ -524,7 +524,7 @@ static irqreturn_t bfin_spi_dma_irq_handler(int irq, void *dev_id)
        timeout = jiffies + HZ;
        while (!(bfin_read(&drv_data->regs->stat) & BIT_STAT_SPIF))
                if (!time_before(jiffies, timeout)) {
-                       dev_warn(&drv_data->pdev->dev, "timeout waiting for SPIF");
+                       dev_warn(&drv_data->pdev->dev, "timeout waiting for SPIF\n");
                        break;
                } else
                        cpu_relax();
@@ -913,8 +913,9 @@ static void bfin_spi_pump_messages(struct work_struct *work)
        drv_data->cur_transfer = list_entry(drv_data->cur_msg->transfers.next,
                                            struct spi_transfer, transfer_list);
 
-       dev_dbg(&drv_data->pdev->dev, "got a message to pump, "
-               "state is set to: baud %d, flag 0x%x, ctl 0x%x\n",
+       dev_dbg(&drv_data->pdev->dev,
+               "got a message to pump, state is set to: baud "
+               "%d, flag 0x%x, ctl 0x%x\n",
                drv_data->cur_chip->baud, drv_data->cur_chip->flag,
                drv_data->cur_chip->ctl_reg);
 
@@ -1013,8 +1014,8 @@ static int bfin_spi_setup(struct spi_device *spi)
                 * but let's assume (for now) they do.
                 */
                if (chip_info->ctl_reg & ~bfin_ctl_reg) {
-                       dev_err(&spi->dev, "do not set bits in ctl_reg "
-                               "that the SPI framework manages\n");
+                       dev_err(&spi->dev,
+                               "do not set bits in ctl_reg that the SPI framework manages\n");
                        goto error;
                }
                chip->enable_dma = chip_info->enable_dma != 0
@@ -1050,17 +1051,17 @@ static int bfin_spi_setup(struct spi_device *spi)
        chip->chip_select_num = spi->chip_select;
        if (chip->chip_select_num < MAX_CTRL_CS) {
                if (!(spi->mode & SPI_CPHA))
-                       dev_warn(&spi->dev, "Warning: SPI CPHA not set:"
-                               " Slave Select not under software control!\n"
-                               " See Documentation/blackfin/bfin-spi-notes.txt");
+                       dev_warn(&spi->dev,
+                               "Warning: SPI CPHA not set: Slave Select not under software control!\n"
+                               "See Documentation/blackfin/bfin-spi-notes.txt\n");
 
                chip->flag = (1 << spi->chip_select) << 8;
        } else
                chip->cs_gpio = chip->chip_select_num - MAX_CTRL_CS;
 
        if (chip->enable_dma && chip->pio_interrupt) {
-               dev_err(&spi->dev, "enable_dma is set, "
-                               "do not set pio_interrupt\n");
+               dev_err(&spi->dev,
+                       "enable_dma is set, do not set pio_interrupt\n");
                goto error;
        }
        /*
@@ -1410,10 +1411,10 @@ static int bfin_spi_remove(struct platform_device *pdev)
        return 0;
 }
 
-#ifdef CONFIG_PM
-static int bfin_spi_suspend(struct platform_device *pdev, pm_message_t state)
+#ifdef CONFIG_PM_SLEEP
+static int bfin_spi_suspend(struct device *dev)
 {
-       struct bfin_spi_master_data *drv_data = platform_get_drvdata(pdev);
+       struct bfin_spi_master_data *drv_data = dev_get_drvdata(dev);
        int status = 0;
 
        status = bfin_spi_stop_queue(drv_data);
@@ -1432,9 +1433,9 @@ static int bfin_spi_suspend(struct platform_device *pdev, pm_message_t state)
        return 0;
 }
 
-static int bfin_spi_resume(struct platform_device *pdev)
+static int bfin_spi_resume(struct device *dev)
 {
-       struct bfin_spi_master_data *drv_data = platform_get_drvdata(pdev);
+       struct bfin_spi_master_data *drv_data = dev_get_drvdata(dev);
        int status = 0;
 
        bfin_write(&drv_data->regs->ctl, drv_data->ctrl_reg);
@@ -1443,31 +1444,34 @@ static int bfin_spi_resume(struct platform_device *pdev)
        /* Start the queue running */
        status = bfin_spi_start_queue(drv_data);
        if (status != 0) {
-               dev_err(&pdev->dev, "problem starting queue (%d)\n", status);
+               dev_err(dev, "problem starting queue (%d)\n", status);
                return status;
        }
 
        return 0;
 }
+
+static SIMPLE_DEV_PM_OPS(bfin_spi_pm_ops, bfin_spi_suspend, bfin_spi_resume);
+
+#define BFIN_SPI_PM_OPS                (&bfin_spi_pm_ops)
 #else
-#define bfin_spi_suspend NULL
-#define bfin_spi_resume NULL
-#endif                         /* CONFIG_PM */
+#define BFIN_SPI_PM_OPS                NULL
+#endif
 
 MODULE_ALIAS("platform:bfin-spi");
 static struct platform_driver bfin_spi_driver = {
        .driver = {
                .name   = DRV_NAME,
                .owner  = THIS_MODULE,
+               .pm     = BFIN_SPI_PM_OPS,
        },
-       .suspend        = bfin_spi_suspend,
-       .resume         = bfin_spi_resume,
+       .probe          = bfin_spi_probe,
        .remove         = bfin_spi_remove,
 };
 
 static int __init bfin_spi_init(void)
 {
-       return platform_driver_probe(&bfin_spi_driver, bfin_spi_probe);
+       return platform_driver_register(&bfin_spi_driver);
 }
 subsys_initcall(bfin_spi_init);