spi: rpc-if: Use correct device for hardware reinitialization on resume

rpcif_spi_resume() currently passes the SPI controller device to
rpcif_hw_init(), but the function should be called with the RPC
interface device.

Retrieve the rpcif private data from the SPI controller and pass
rpc->dev instead. Also propagate the return value of rpcif_hw_init() so
that a failure during resume is properly reported rather than silently
ignored.

Fixes: ad4728740b ("spi: rpc-if: Add resume support for RZ/G3E")
Signed-off-by: Quang Nguyen <quang.nguyen.wx@renesas.com>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260618081932.172168-1-biju.das.jz@bp.renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Quang Nguyen
2026-06-18 09:19:30 +01:00
committed by Mark Brown
parent 12aad822fb
commit 7b25dbafa2

View File

@@ -206,8 +206,12 @@ static int rpcif_spi_suspend(struct device *dev)
static int rpcif_spi_resume(struct device *dev)
{
struct spi_controller *ctlr = dev_get_drvdata(dev);
struct rpcif *rpc = spi_controller_get_devdata(ctlr);
int ret;
rpcif_hw_init(dev, false);
ret = rpcif_hw_init(rpc->dev, false);
if (ret)
return ret;
return spi_controller_resume(ctlr);
}