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

Unverified Commit 3ce2dcf7 authored by Mark Brown's avatar Mark Brown
Browse files

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

Merge remote-tracking branches 'spi/fix/atmel', 'spi/fix/pxa2xx' and 'spi/fix/unregiser' into spi-linus
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -1512,6 +1512,11 @@ static void atmel_spi_init(struct atmel_spi *as)
{
	spi_writel(as, CR, SPI_BIT(SWRST));
	spi_writel(as, CR, SPI_BIT(SWRST)); /* AT91SAM9263 Rev B workaround */

	/* It is recommended to enable FIFOs first thing after reset */
	if (as->fifo_size)
		spi_writel(as, CR, SPI_BIT(FIFOEN));

	if (as->caps.has_wdrbt) {
		spi_writel(as, MR, SPI_BIT(WDRBT) | SPI_BIT(MODFDIS)
				| SPI_BIT(MSTR));
@@ -1522,9 +1527,6 @@ static void atmel_spi_init(struct atmel_spi *as)
	if (as->use_pdc)
		spi_writel(as, PTCR, SPI_BIT(RXTDIS) | SPI_BIT(TXTDIS));
	spi_writel(as, CR, SPI_BIT(SPIEN));

	if (as->fifo_size)
		spi_writel(as, CR, SPI_BIT(FIFOEN));
}

static int atmel_spi_probe(struct platform_device *pdev)
+2 −0
Original line number Diff line number Diff line
@@ -1802,6 +1802,8 @@ static int pxa2xx_spi_probe(struct platform_device *pdev)
	return status;

out_error_clock_enabled:
	pm_runtime_put_noidle(&pdev->dev);
	pm_runtime_disable(&pdev->dev);
	clk_disable_unprepare(ssp->clk);
	pxa2xx_spi_dma_release(drv_data);
	free_irq(ssp->irq, drv_data);
+2 −7
Original line number Diff line number Diff line
@@ -2260,12 +2260,6 @@ void spi_unregister_controller(struct spi_controller *ctlr)
	mutex_lock(&board_lock);
	found = idr_find(&spi_master_idr, id);
	mutex_unlock(&board_lock);
	if (found != ctlr) {
		dev_dbg(&ctlr->dev,
			"attempting to delete unregistered controller [%s]\n",
			dev_name(&ctlr->dev));
		return;
	}
	if (ctlr->queued) {
		if (spi_destroy_queue(ctlr))
			dev_err(&ctlr->dev, "queue remove failed\n");
@@ -2278,6 +2272,7 @@ void spi_unregister_controller(struct spi_controller *ctlr)
	device_unregister(&ctlr->dev);
	/* free bus id */
	mutex_lock(&board_lock);
	if (found == ctlr)
		idr_remove(&spi_master_idr, id);
	mutex_unlock(&board_lock);
}