Merge remote-tracking branches 'spi/fix/atmel', 'spi/fix/pxa2xx' and 'spi/fix/unregiser' into spi-linus
This commit is contained in:
commit
3ce2dcf702
@ -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)
|
||||
|
@ -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);
|
||||
|
@ -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,7 +2272,8 @@ void spi_unregister_controller(struct spi_controller *ctlr)
|
||||
device_unregister(&ctlr->dev);
|
||||
/* free bus id */
|
||||
mutex_lock(&board_lock);
|
||||
idr_remove(&spi_master_idr, id);
|
||||
if (found == ctlr)
|
||||
idr_remove(&spi_master_idr, id);
|
||||
mutex_unlock(&board_lock);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(spi_unregister_controller);
|
||||
|
Loading…
Reference in New Issue
Block a user