Files
kernel-agent/patches/driver/mfd/rk8xx/0010c-mfd-rk8xx-spi-add-PM-ops-and-shutdown-callback.patch
T
claude-noether 91617fae14 patches: migrate remaining misc_patches/genbook into scope-tagged tree (closes #1)
Closes the migration started in #8. The 6 active ampere patches (pwm15,
pwm-fan, RK806 power-controller, speaker, USB-C PD, lid switch) landed
in #8 under soc/rockchip/rk3588/, module/coolpi-cm5/, and
board/coolpi-cm5-genbook/. This commit migrates the remaining 3:

* `0006 arm64 Kconfig: do not select HAVE_GCC_PLUGINS`
  → patches/arch/arm64/. NOT for upstream — local build workaround;
  README explains the proper fix is gcc-plugin-devel install.

* `0009 Bluetooth: btrtl: make RTL_SEC_PROJ read non-fatal`
  → patches/driver/bluetooth/btrtl/. Benefits ampere (RTL8852BE) and
  boltzmann (same M.2 family). Cross-host driver/ scope.

* `0010 gpio/drm/mfd/input/dts: fix suspend/resume and wakeup on RK3588`
  → SPLIT into 5 scope-tagged sub-patches as the issue required
  ("0010 split into ≥2 patches by scope"):
    - patches/driver/gpio/rockchip/0010a-gpio-rockchip-propagate-irq_set_wake-to-parent-GIC.patch
    - patches/driver/gpu/drm/bridge/analogix/0010b-drm-bridge-analogix-dp-disable-IRQ-before-clock-gating-in-suspend.patch
    - patches/driver/mfd/rk8xx/0010c-mfd-rk8xx-spi-add-PM-ops-and-shutdown-callback.patch
    - patches/driver/input/misc/0010d-input-rk805-pwrkey-register-wake-IRQ-via-dev_pm_set_wake_irq.patch
    - patches/board/coolpi-cm5-genbook/0010e-arm64-dts-rockchip-rk3588-coolpi-cm5-genbook-add-NPU-power-domain-and-touchpad-wakeup.patch

  The split is byte-identical to the original 0010 (verified on
  decompose-0010 branch in marfrit/linux-rk3588-marfrit — sha256 of
  the combined diff matches the monolithic 0010 commit).

  All 0010 sub-patches marked WIP in their README and explicitly NOT
  added to fleet/ampere.yaml includes — suspend/resume thread is still
  open and Markus hasn't decided the upstream-targeting shape.

READMEs added at each new directory documenting per-patch context.

Acceptance criteria from #1:
  [x] Each patch lives at narrowest correct scope
  [x] 0010 split into ≥2 patches by scope (5 sub-patches)
  [x] Per-host manifest for ampere references the right scopes + explicit includes (already #8)
  [ ] github.com/marfrit/misc_patches retained as historical mirror — Markus to decide
  [x] working-tree dirty state on boltzmann reconciled (decompose-0010 + ampere-minimal-devices branches captured)

Generated-by: Claude Opus 4.7 <claude@reauktion.de>
2026-05-16 16:41:24 +00:00

47 lines
1.5 KiB
Diff

From e1ddd44dea499fd62907ac100baaa2835da6e213 Mon Sep 17 00:00:00 2001
From: Markus Fritsche <mfritsche@localhost>
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 <noreply@anthropic.com>
Signed-off-by: Markus Fritsche <mfritsche@localhost>
---
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