From: Mark Brown Date: Fri, 25 Oct 2013 08:51:29 +0000 (+0100) Subject: Merge remote-tracking branch 'spi/topic/loop' into spi-next X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=8211e6b8facd9d0da3e8f6e51657cba8b0af19da;p=deliverable%2Flinux.git Merge remote-tracking branch 'spi/topic/loop' into spi-next --- 8211e6b8facd9d0da3e8f6e51657cba8b0af19da diff --cc drivers/spi/spi-s3c64xx.c index ae07c3afe956,25eb352d6a42..508f51fc5704 --- a/drivers/spi/spi-s3c64xx.c +++ b/drivers/spi/spi-s3c64xx.c @@@ -1121,8 -1099,8 +1099,9 @@@ static int s3c64xx_spi_setup(struct spi return 0; setup_exit: + pm_runtime_put(&sdd->pdev->dev); /* setup() returns with device de-selected */ + writel(S3C64XX_SPI_SLAVE_SIG_INACT, sdd->regs + S3C64XX_SPI_SLAVE_SEL); disable_cs(sdd, spi); gpio_free(cs->line); @@@ -1429,12 -1409,11 +1410,12 @@@ static int s3c64xx_spi_probe(struct pla S3C64XX_SPI_INT_TX_OVERRUN_EN | S3C64XX_SPI_INT_TX_UNDERRUN_EN, sdd->regs + S3C64XX_SPI_INT_EN); + pm_runtime_set_active(&pdev->dev); pm_runtime_enable(&pdev->dev); - if (spi_register_master(master)) { - dev_err(&pdev->dev, "cannot register SPI master\n"); - ret = -EBUSY; + ret = devm_spi_register_master(&pdev->dev, master); + if (ret != 0) { + dev_err(&pdev->dev, "cannot register SPI master: %d\n", ret); goto err3; }