From e1ddd44dea499fd62907ac100baaa2835da6e213 Mon Sep 17 00:00:00 2001 From: Markus Fritsche Date: Thu, 16 Apr 2026 23:53:03 +0200 Subject: [PATCH 3/9] mfd: rk8xx-spi: add PM ops and shutdown callback The I2C transport (rk8xx-i2c.c) wires up rk8xx_suspend/rk8xx_resume and a shutdown callback, but the SPI transport does not. Add the matching PM ops (SIMPLE_DEV_PM_OPS) and shutdown callback that calls rk8xx_shutdown() so RK806-based boards can suspend/resume and power off cleanly via the SPI transport. Generated-by: Claude Opus 4.6 Signed-off-by: Markus Fritsche --- drivers/mfd/rk8xx-spi.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/mfd/rk8xx-spi.c b/drivers/mfd/rk8xx-spi.c index 3405fb82ff9f..148af672ce12 100644 --- a/drivers/mfd/rk8xx-spi.c +++ b/drivers/mfd/rk8xx-spi.c @@ -109,12 +109,21 @@ static const struct spi_device_id rk8xx_spi_id_table[] = { }; MODULE_DEVICE_TABLE(spi, rk8xx_spi_id_table); +static void rk8xx_spi_shutdown(struct spi_device *spi) +{ + rk8xx_shutdown(&spi->dev); +} + +static SIMPLE_DEV_PM_OPS(rk8xx_spi_pm_ops, rk8xx_suspend, rk8xx_resume); + static struct spi_driver rk8xx_spi_driver = { .driver = { .name = "rk8xx-spi", .of_match_table = rk8xx_spi_of_match, + .pm = &rk8xx_spi_pm_ops, }, .probe = rk8xx_spi_probe, + .shutdown = rk8xx_spi_shutdown, .id_table = rk8xx_spi_id_table, }; module_spi_driver(rk8xx_spi_driver); -- 2.54.0