Merge existing fixes from spi/for-7.2 into new branch

This commit is contained in:
Mark Brown 2026-06-29 14:13:13 +01:00
commit e8c06179a5
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0
2 changed files with 9 additions and 4 deletions

View File

@ -114,7 +114,7 @@ static irqreturn_t sh_msiof_spi_irq(int irq, void *data)
return IRQ_HANDLED;
}
static void sh_msiof_spi_reset_regs(struct sh_msiof_spi_priv *p)
static int sh_msiof_spi_reset_regs(struct sh_msiof_spi_priv *p)
{
u32 mask = SICTR_TXRST | SICTR_RXRST;
u32 data;
@ -123,8 +123,8 @@ static void sh_msiof_spi_reset_regs(struct sh_msiof_spi_priv *p)
data |= mask;
sh_msiof_write(p, SICTR, data);
readl_poll_timeout_atomic(p->mapbase + SICTR, data, !(data & mask), 1,
100);
return readl_poll_timeout_atomic(p->mapbase + SICTR, data,
!(data & mask), 1, 100);
}
static void sh_msiof_spi_set_clk_regs(struct sh_msiof_spi_priv *p,
@ -834,7 +834,9 @@ static int sh_msiof_transfer_one(struct spi_controller *ctlr,
int ret;
/* reset registers */
sh_msiof_spi_reset_regs(p);
ret = sh_msiof_spi_reset_regs(p);
if (ret)
return ret;
/* setup clocks (clock already enabled in chipselect()) */
if (!spi_controller_is_target(p->ctlr))

View File

@ -3671,6 +3671,9 @@ int spi_controller_suspend(struct spi_controller *ctlr)
{
int ret = 0;
if (ctlr->cur_msg && spi_controller_is_target(ctlr) && ctlr->target_abort)
ctlr->target_abort(ctlr);
/* Basically no-ops for non-queued controllers */
if (ctlr->queued) {
ret = spi_stop_queue(ctlr);