Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'spi-fix-v6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi

Pull spi fixes from Mark Brown:
"A small set of driver specific fixes that came in since the merge
window, about half of which is fixes for correctness in the use of the
runtime PM APIs done as part of a broader cleanup"

* tag 'spi-fix-v6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
spi: s3c64xx: fix timeout counters in flush_fifo
spi: atmel-quadspi: Fix wrong register value written to MR
spi: spi-cadence: Fix missing spi_controller_is_target() check
spi: spi-cadence: Fix pm_runtime_set_suspended() with runtime pm enabled
spi: spi-imx: Fix pm_runtime_set_suspended() with runtime pm enabled

+9 -7
+1 -1
drivers/spi/atmel-quadspi.c
··· 377 377 */ 378 378 if (!(aq->mr & QSPI_MR_SMM)) { 379 379 aq->mr |= QSPI_MR_SMM; 380 - atmel_qspi_write(aq->scr, aq, QSPI_MR); 380 + atmel_qspi_write(aq->mr, aq, QSPI_MR); 381 381 } 382 382 383 383 /* Clear pending interrupts */
+5 -3
drivers/spi/spi-cadence.c
··· 678 678 679 679 clk_dis_all: 680 680 if (!spi_controller_is_target(ctlr)) { 681 - pm_runtime_set_suspended(&pdev->dev); 682 681 pm_runtime_disable(&pdev->dev); 682 + pm_runtime_set_suspended(&pdev->dev); 683 683 } 684 684 remove_ctlr: 685 685 spi_controller_put(ctlr); ··· 701 701 702 702 cdns_spi_write(xspi, CDNS_SPI_ER, CDNS_SPI_ER_DISABLE); 703 703 704 - pm_runtime_set_suspended(&pdev->dev); 705 - pm_runtime_disable(&pdev->dev); 704 + if (!spi_controller_is_target(ctlr)) { 705 + pm_runtime_disable(&pdev->dev); 706 + pm_runtime_set_suspended(&pdev->dev); 707 + } 706 708 707 709 spi_unregister_controller(ctlr); 708 710 }
+1 -1
drivers/spi/spi-imx.c
··· 1865 1865 spi_imx_sdma_exit(spi_imx); 1866 1866 out_runtime_pm_put: 1867 1867 pm_runtime_dont_use_autosuspend(spi_imx->dev); 1868 - pm_runtime_set_suspended(&pdev->dev); 1869 1868 pm_runtime_disable(spi_imx->dev); 1869 + pm_runtime_set_suspended(&pdev->dev); 1870 1870 1871 1871 clk_disable_unprepare(spi_imx->clk_ipg); 1872 1872 out_put_per:
+2 -2
drivers/spi/spi-s3c64xx.c
··· 245 245 loops = msecs_to_loops(1); 246 246 do { 247 247 val = readl(regs + S3C64XX_SPI_STATUS); 248 - } while (TX_FIFO_LVL(val, sdd) && loops--); 248 + } while (TX_FIFO_LVL(val, sdd) && --loops); 249 249 250 250 if (loops == 0) 251 251 dev_warn(&sdd->pdev->dev, "Timed out flushing TX FIFO\n"); ··· 258 258 readl(regs + S3C64XX_SPI_RX_DATA); 259 259 else 260 260 break; 261 - } while (loops--); 261 + } while (--loops); 262 262 263 263 if (loops == 0) 264 264 dev_warn(&sdd->pdev->dev, "Timed out flushing RX FIFO\n");