Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d930acfd authored by Mark Brown's avatar Mark Brown
Browse files

Merge remote-tracking branches 'spi/fix/ath79', 'spi/fix/atmel',...

Merge remote-tracking branches 'spi/fix/ath79', 'spi/fix/atmel', 'spi/fix/coldfire', 'spi/fix/fsl-dspi', 'spi/fix/imx' and 'spi/fix/topcliff-pch' into spi-linus
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -132,9 +132,9 @@ static int ath79_spi_setup_cs(struct spi_device *spi)

		flags = GPIOF_DIR_OUT;
		if (spi->mode & SPI_CS_HIGH)
			flags |= GPIOF_INIT_HIGH;
		else
			flags |= GPIOF_INIT_LOW;
		else
			flags |= GPIOF_INIT_HIGH;

		status = gpio_request_one(cdata->gpio, flags,
					  dev_name(&spi->dev));
+16 −1
Original line number Diff line number Diff line
@@ -1455,6 +1455,14 @@ static int atmel_spi_suspend(struct device *dev)
{
	struct spi_master	*master = dev_get_drvdata(dev);
	struct atmel_spi	*as = spi_master_get_devdata(master);
	int ret;

	/* Stop the queue running */
	ret = spi_master_suspend(master);
	if (ret) {
		dev_warn(dev, "cannot suspend master\n");
		return ret;
	}

	clk_disable_unprepare(as->clk);
	return 0;
@@ -1464,9 +1472,16 @@ static int atmel_spi_resume(struct device *dev)
{
	struct spi_master	*master = dev_get_drvdata(dev);
	struct atmel_spi	*as = spi_master_get_devdata(master);
	int ret;

	clk_prepare_enable(as->clk);
	return 0;

	/* Start the queue running */
	ret = spi_master_resume(master);
	if (ret)
		dev_err(dev, "problem starting queue (%d)\n", ret);

	return ret;
}

static SIMPLE_DEV_PM_OPS(atmel_spi_pm_ops, atmel_spi_suspend, atmel_spi_resume);
+4 −2
Original line number Diff line number Diff line
@@ -514,7 +514,8 @@ static int mcfqspi_resume(struct device *dev)
#ifdef CONFIG_PM_RUNTIME
static int mcfqspi_runtime_suspend(struct device *dev)
{
	struct mcfqspi *mcfqspi = dev_get_drvdata(dev);
	struct spi_master *master = dev_get_drvdata(dev);
	struct mcfqspi *mcfqspi = spi_master_get_devdata(master);

	clk_disable(mcfqspi->clk);

@@ -523,7 +524,8 @@ static int mcfqspi_runtime_suspend(struct device *dev)

static int mcfqspi_runtime_resume(struct device *dev)
{
	struct mcfqspi *mcfqspi = dev_get_drvdata(dev);
	struct spi_master *master = dev_get_drvdata(dev);
	struct mcfqspi *mcfqspi = spi_master_get_devdata(master);

	clk_enable(mcfqspi->clk);

+3 −3
Original line number Diff line number Diff line
@@ -420,7 +420,6 @@ static int dspi_suspend(struct device *dev)

static int dspi_resume(struct device *dev)
{

	struct spi_master *master = dev_get_drvdata(dev);
	struct fsl_dspi *dspi = spi_master_get_devdata(master);

@@ -504,7 +503,7 @@ static int dspi_probe(struct platform_device *pdev)
	clk_prepare_enable(dspi->clk);

	init_waitqueue_head(&dspi->waitq);
	platform_set_drvdata(pdev, dspi);
	platform_set_drvdata(pdev, master);

	ret = spi_bitbang_start(&dspi->bitbang);
	if (ret != 0) {
@@ -525,7 +524,8 @@ static int dspi_probe(struct platform_device *pdev)

static int dspi_remove(struct platform_device *pdev)
{
	struct fsl_dspi *dspi = platform_get_drvdata(pdev);
	struct spi_master *master = platform_get_drvdata(pdev);
	struct fsl_dspi *dspi = spi_master_get_devdata(master);

	/* Disconnect from the SPI framework */
	spi_bitbang_stop(&dspi->bitbang);
+2 −2
Original line number Diff line number Diff line
@@ -948,8 +948,8 @@ static int spi_imx_remove(struct platform_device *pdev)
	spi_bitbang_stop(&spi_imx->bitbang);

	writel(0, spi_imx->base + MXC_CSPICTRL);
	clk_disable_unprepare(spi_imx->clk_ipg);
	clk_disable_unprepare(spi_imx->clk_per);
	clk_unprepare(spi_imx->clk_ipg);
	clk_unprepare(spi_imx->clk_per);
	spi_master_put(master);

	return 0;
Loading