* [PATCH AUTOSEL 7.0-5.10] dt-bindings: arm64: add Marvell 7k COMe boards
[not found] <20260428104133.2858589-1-sashal@kernel.org>
@ 2026-04-28 10:40 ` Sasha Levin
2026-04-28 10:40 ` [PATCH AUTOSEL 7.0-6.6] dt-bindings: rtc: microcrystal,rv3028: Allow to specify vdd-supply Sasha Levin
2026-04-28 10:41 ` [PATCH AUTOSEL 7.0-5.15] dt-bindings: clock: qcom,gcc-sc8180x: Add missing GDSCs Sasha Levin
2 siblings, 0 replies; 3+ messages in thread
From: Sasha Levin @ 2026-04-28 10:40 UTC (permalink / raw)
To: patches, stable
Cc: Elad Nachman, Rob Herring (Arm), Gregory CLEMENT, Sasha Levin,
andrew, sebastian.hesselbarth, robh+dt, krzysztof.kozlowski+dt,
conor+dt, linux-arm-kernel, devicetree, linux-kernel
From: Elad Nachman <enachman@marvell.com>
[ Upstream commit 283822a64d6bd9aca55b5e2718bc63e9815b443d ]
Add dt bindings for:
Armada 7020 COM Express CPU module
Falcon DB-98CX85x0 COM Express type 7 Carrier board
Falcon DB-98CX85x0 COM Express type 7 Carrier board
with an Armada 7020 COM Express CPU module
Signed-off-by: Elad Nachman <enachman@marvell.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
LLM Generated explanations, may be completely bogus:
Based on my investigation, I have enough information to complete the
analysis.
## PHASE 1: COMMIT MESSAGE FORENSICS
**Step 1.1: Subject Line**
Record: Subsystem `dt-bindings: arm64`, action verb `add`, summary: "Add
DT binding descriptions for the Marvell Falcon DB-98CX85x0 COM Express
carrier board and Armada 7020 CPU module."
**Step 1.2: Tags**
Record: `Signed-off-by: Elad Nachman` (author), `Acked-by: Rob Herring
(Arm) <robh@kernel.org>` (DT maintainer), `Signed-off-by: Gregory
CLEMENT <gregory.clement@bootlin.com>` (mvebu maintainer). No `Fixes:`,
no `Cc: stable`, no `Reported-by:`, no `Link:`.
**Step 1.3: Commit Body**
Record: The commit body lists the three binding descriptions added but
provides no bug description or symptom. However, the subject does not
use "fix" and reads as a feature addition. Body does not discuss impact.
**Step 1.4: Hidden Bug Fix Detection**
Record: Based on subject alone, looks like pure feature addition.
However, based on mailing list discussion (see Phase 4), this is a fix
for a binding/DTS mismatch where the DTS files reference compatibles not
documented in the bindings.
## PHASE 2: DIFF ANALYSIS
**Step 2.1: Inventory**
Record: 1 file changed
(`Documentation/devicetree/bindings/arm/marvell/armada-7k-8k.yaml`), +11
lines, -0 lines. Single surgical YAML addition.
**Step 2.2: Code Flow**
Record: Before: Binding file did not describe the
`marvell,armada7020-cpu-module`, `marvell,db-falcon-carrier`, or
`marvell,armada7020-falcon-carrier` compatibles. After: New `oneOf`
entry documents this 6-level compatible stack. No runtime code affected.
**Step 2.3: Bug Mechanism**
Record: This falls in category (h) Hardware workarounds/documentation
additions - DT binding additions for board compatibles. The "bug" is
that the DTS files already in the tree (b3370479a5f7e) reference
compatibles that are undocumented, causing `make CHECK_DTBS=y` to
produce schema validation warnings.
**Step 2.4: Fix Quality**
Record: Obviously correct - YAML schema change only. Zero runtime risk.
Minimal and surgical. Cannot introduce regression as DT schema is not
used at runtime.
## PHASE 3: GIT HISTORY INVESTIGATION
**Step 3.1: Blame**
Record: The existing "Armada 7020 SoC" entry that precedes the added
block was present from file creation. New entry inserted after it.
**Step 3.2: Fixes Tag**
Record: No `Fixes:` tag. However, the related DTS commit `b3370479a5f7e`
("arm64: dts: a7k: add COM Express boards", Jan 22 2026) is the commit
that introduced the DTS files referencing the new compatibles, and is
already present in HEAD.
**Step 3.3: File History**
Record: Recent related file history: `4c9bc78fa22d6` (missing 7040/8040
compatibles), `242aa69df6ed8` (8KPlus schema move), `099e1d034f009`
(solidrun cn9132), `5f5eb24090bec` (solidrun cn9130), `c604a4d1833c1`
(earlier Marvell COM Express boards). Part of a typical incremental
binding maintenance flow.
**Step 3.4: Author**
Record: Author Elad Nachman from Marvell has been contributing
Armada/CN913x and ac5 patches. Gregory Clement (mvebu subsystem
maintainer) handled the commit. Rob Herring (top-level DT maintainer)
Acked it.
**Step 3.5: Dependencies**
Record: Standalone binding addition, no code dependencies. However,
contextually linked to DTS commit `b3370479a5f7e` (already in
HEAD/v7.0).
## PHASE 4: MAILING LIST RESEARCH
**Step 4.1: Lore Discussion**
Record: Found via `b4 dig`: https://lore.kernel.org/all/20260122165923.2
316510-2-enachman@marvell.com/ — Patch 1/3 of series "arm64: dts: a7k:
add COM Express boards". Crucial reviewer feedback found:
- Rob Herring (Mar 6, 2026): *"It seems the .dts files are in 7.0 and
the binding is only in next. The binding needs to go into 7.0 too.
Please pay attention to the warnings."*
- Gregory Clement (Mar 13, 2026): *"Sorry for this. I have now applied
the binding, and it will be included in my next fixes PR."*
This is an **explicit stable nomination from the DT maintainer** for
7.0.y.
**Step 4.2: Reviewers**
Record: Rob Herring (DT maintainer) Acked it, Gregory Clement (mvebu
maintainer) applied and explicitly targeted 7.0 fixes. Proper subsystem
review occurred.
**Step 4.3: Bug Report**
Record: Rob's dt-schema bot flagged "new warnings" on the series.
Warnings are DT validation errors produced by the DTS files without
matching bindings.
**Step 4.4: Series**
Record: Part of a 3-patch series. Patch 2 (DTS) already merged to 7.0.
Patch 3 (MAINTAINERS) has its own destiny. This patch 1 (bindings) is
the reviewer-requested sync.
**Step 4.5: Stable Mailing List**
Record: Not discussed on stable list; this is being handled as a 7.0
fixes path.
## PHASE 5: CODE SEMANTIC ANALYSIS
Not applicable — no code functions involved, only DT YAML schema. DT
binding files have no runtime callers; they are consumed only by `dt-
schema` validation tools (`make dt_binding_check`, `make CHECK_DTBS=y`).
Record: Zero runtime call paths, zero runtime consumers. Binding file
affects only build-time validation.
## PHASE 6: CROSS-REFERENCING AND STABLE TREE ANALYSIS
**Step 6.1: Buggy Code in Stable**
Record: Verified with `git merge-base --is-ancestor b3370479a5f7e HEAD`
-> IN HEAD. The DTS files (`db-falcon-carrier-a7k.dts`, `db-falcon-
carrier.dtsi`, `armada-7020-comexpress.dtsi`) are present in
stable/linux-7.0.y via mvebu-dt64-6.20-1 merge. The mismatched bindings
cause the validation gap in 7.0.y. Not in older stable trees (6.6.y,
6.1.y etc.), so they aren't affected.
**Step 6.2: Backport Complications**
Record: Binding file in HEAD matches the pre-patch state from mainline.
Patch should apply cleanly to 7.0.y. Verified file context still has the
"Armada 7040 SoC" entry right after the "Armada 7020 SoC" entry -
insertion point unchanged.
**Step 6.3: Related Fixes in Stable**
Record: No related binding fixes already in stable.
## PHASE 7: SUBSYSTEM AND MAINTAINER CONTEXT
**Step 7.1: Subsystem Criticality**
Record: Subsystem = `Documentation/devicetree/bindings/arm/marvell/`, DT
binding documentation. Criticality: PERIPHERAL (affects only DT schema
validators, not any runtime path).
**Step 7.2: Activity Level**
Record: Moderately active file, typical maintenance pace.
## PHASE 8: IMPACT AND RISK ASSESSMENT
**Step 8.1: Who is Affected**
Record: Developers/testers running `make dt_binding_check` or `make
CHECK_DTBS=y` on the arm64 marvell DTS tree. No end users affected (DT
schema files are not compiled into the kernel or used at runtime).
**Step 8.2: Trigger Conditions**
Record: The "bug" (validation warning) triggers only when someone runs
DT schema validation against the shipped DTS files. Not runtime
reachable.
**Step 8.3: Failure Mode Severity**
Record: LOW - generates `CHECK_DTBS` warnings/failures for validator
users; no crashes, no data corruption, no security impact, no runtime
behavior change.
**Step 8.4: Risk vs Benefit**
Record:
- Benefit: LOW severity, fixes validation inconsistency explicitly
requested by the DT maintainer; keeps 7.0.y internally consistent.
- Risk: Near-zero. 11-line YAML file touching schema metadata only;
cannot affect compile or runtime.
- Ratio: LOW/near-zero = favorable.
## PHASE 9: FINAL SYNTHESIS
**Step 9.1: Evidence**
FOR backport:
- DT maintainer (Rob Herring) explicitly stated: "The binding needs to
go into 7.0 too."
- Companion DTS commit `b3370479a5f7e` is already in stable/linux-7.0.y
(verified)
- Fixes DT schema validation warnings against the already-shipped DTS
- Zero runtime risk (YAML metadata only)
- Acked-by DT maintainer, applied to mvebu/fixes (7.0 fixes) by mvebu
maintainer
- Small (11 lines), contained, obviously correct
- Falls under the "Documentation" and "DT updates for existing hardware
(in tree)" exception categories
AGAINST backport:
- Subject reads as feature addition ("add Marvell 7k COMe boards")
- No `Fixes:` tag, no `Cc: stable` tag
- Technically describes new boards not previously documented
- Doesn't fix any runtime behavior
Unresolved: None — the mailing list discussion resolves the intent.
**Step 9.2: Stable Rules Checklist**
1. Obviously correct and tested? YES (YAML schema addition, acked by DT
maintainer)
2. Fixes a real bug affecting users? BORDERLINE - fixes validator bug
for shipped DTS
3. Important issue? LOW severity (validation warnings, not runtime)
4. Small and contained? YES (11 lines, one file)
5. No new features? YES (no runtime features, binding matches DTS
already in tree)
6. Can apply to stable? YES (applies cleanly to 7.0.y)
**Step 9.3: Exception Categories**
Applicable exceptions:
- "DEVICE TREE (DT) UPDATES: DT binding additions for existing hardware,
DT fixes for incorrect hardware descriptions, enabling already-
supported hardware on new boards - Usually safe because they only
affect specific ARM/embedded platforms."
- "DOCUMENTATION and COMMENT FIXES: Fixing incorrect documentation,
updating obsolete comments - Zero risk of runtime regression"
The DTS files for this hardware are already present in 7.0; adding the
matching bindings is a documentation sync.
**Step 9.4: Decision**
For 7.0.y specifically, the DTS files exist in the tree, the DT
maintainer explicitly asked for this to land in 7.0, and the risk is
zero. This matches the exception for DT updates / documentation fixes.
## Verification
- [Phase 1] Parsed tags: `Acked-by: Rob Herring`, `Signed-off-by:
Gregory CLEMENT`, no `Fixes:`/`Cc: stable`.
- [Phase 2] Diff analysis: +11 lines of YAML added to
`armada-7k-8k.yaml`, single file, new `oneOf` entry for the Falcon
carrier + Armada 7020 CPU module compatible stack.
- [Phase 3] `git log --oneline -- <file>`: file churn is typical
incremental binding maintenance.
- [Phase 3] `git log -1 --format="%H %ci %s" edb7efa767da8` -> March 13,
2026; `b3370479a5f7e` -> January 23, 2026 (DTS, earlier).
- [Phase 3] `git merge-base --is-ancestor b3370479a5f7e HEAD` -> **IN
HEAD** (DTS already in 7.0.y).
- [Phase 3] `git merge-base --is-ancestor edb7efa767da8 HEAD` -> **NOT
IN HEAD** (binding not yet in 7.0.y).
- [Phase 3] `git tag --contains b3370479a5f7e` -> `v7.0` confirms DTS is
in the 7.0 release.
- [Phase 4] `b4 dig -c edb7efa767da8` -> found thread at
lore.kernel.org/all/20260122165923.2316510-2-enachman@marvell.com/.
- [Phase 4] `b4 dig -c edb7efa767da8 -w` -> recipients include robh+dt,
krzysztof.kozlowski+dt, conor+dt, andrew@lunn.ch,
gregory.clement@bootlin.com (all relevant DT/maintainer parties).
- [Phase 4] `b4 dig -c edb7efa767da8 -m /tmp/thread.mbox` -> saved full
thread; confirmed Rob Herring's explicit "The binding needs to go into
7.0 too" and Gregory Clement's response "I have now applied the
binding, and it will be included in my next fixes PR."
- [Phase 4] Rob's dt-bot reported DTB warnings on the series
(`arch/arm64/boot/dts/marvell/db-falcon-carrier-a7k.dtb: ...phy-
mode:0: '10gbase-kr' is not one of [...]`), a separate phy-mode issue,
but confirms validation is run.
- [Phase 5] Not applicable (YAML schema file has no runtime callers).
- [Phase 6] Verified DTS files (`db-falcon-carrier-a7k.dts`, `db-falcon-
carrier.dtsi`, `armada-7020-comexpress.dtsi`) exist in HEAD via `git
show b3370479a5f7e:...` - confirmed they use the compatibles added in
this binding commit.
- [Phase 7] File path: `Documentation/devicetree/bindings/arm/marvell/`
- DT binding docs for Marvell Armada platforms.
- [Phase 8] Severity determined by examining what consumes DT binding
YAMLs (dt-schema validators only); verified no runtime code path uses
these YAML files.
The mailing list evidence is unambiguous: the DT maintainer explicitly
flagged that the DTS files landed in v7.0 but the matching bindings did
not, and requested they go into 7.0 to fix the CHECK_DTBS validation
warnings. The mvebu maintainer applied it to the fixes branch
accordingly. The change is 11 lines of YAML with zero runtime risk,
acked by the DT maintainer, matching already-shipped DTS files in the
7.0 tree.
**YES**
.../devicetree/bindings/arm/marvell/armada-7k-8k.yaml | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/marvell/armada-7k-8k.yaml b/Documentation/devicetree/bindings/arm/marvell/armada-7k-8k.yaml
index 4bc7454a5d3ac..7e77310da626f 100644
--- a/Documentation/devicetree/bindings/arm/marvell/armada-7k-8k.yaml
+++ b/Documentation/devicetree/bindings/arm/marvell/armada-7k-8k.yaml
@@ -21,6 +21,17 @@ properties:
- const: marvell,armada-ap806-dual
- const: marvell,armada-ap806
+ - description:
+ Falcon (DB-98CX85x0) Development board COM Express Carrier plus
+ Armada 7020 SoC COM Express CPU module
+ items:
+ - const: marvell,armada7020-falcon-carrier
+ - const: marvell,db-falcon-carrier
+ - const: marvell,armada7020-cpu-module
+ - const: marvell,armada7020
+ - const: marvell,armada-ap806-dual
+ - const: marvell,armada-ap806
+
- description: Armada 7040 SoC
items:
- enum:
--
2.53.0
^ permalink raw reply related [flat|nested] 3+ messages in thread* [PATCH AUTOSEL 7.0-6.6] dt-bindings: rtc: microcrystal,rv3028: Allow to specify vdd-supply
[not found] <20260428104133.2858589-1-sashal@kernel.org>
2026-04-28 10:40 ` [PATCH AUTOSEL 7.0-5.10] dt-bindings: arm64: add Marvell 7k COMe boards Sasha Levin
@ 2026-04-28 10:40 ` Sasha Levin
2026-04-28 10:41 ` [PATCH AUTOSEL 7.0-5.15] dt-bindings: clock: qcom,gcc-sc8180x: Add missing GDSCs Sasha Levin
2 siblings, 0 replies; 3+ messages in thread
From: Sasha Levin @ 2026-04-28 10:40 UTC (permalink / raw)
To: patches, stable
Cc: Frieder Schrempf, Krzysztof Kozlowski, Alexandre Belloni,
Sasha Levin, a.zummo, robh+dt, krzysztof.kozlowski+dt, conor+dt,
linux-rtc, devicetree, linux-kernel
From: Frieder Schrempf <frieder.schrempf@kontron.de>
[ Upstream commit 10663044bee592ba049a2aa37f4431fbdf93b739 ]
In case the VDD supply voltage regulator of the RTC needs to be
specified explicitly, allow to set vdd-supply.
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20260309085749.25747-2-frieder@fris.de
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
LLM Generated explanations, may be completely bogus:
## Decision Summary
Backport this **with the companion DTS fix**. By itself it is a schema-
only change, but the mailing-list history verifies it was added because
the runtime DTS fix for Kontron i.MX8MP OSM RTC boot hangs was dropped
due to `dtb_check` warning: `'vdd-supply' is not allowed`. This patch is
a 2-line DT binding addition for existing hardware, reviewed by a DT
maintainer, and has essentially no runtime regression risk.
## Phase Walkthrough
1.1 Record: Subsystem `dt-bindings: rtc: microcrystal,rv3028`; action
verb `Allow`; intent is to permit `vdd-supply` in the RV3028 RTC
binding.
1.2 Record: Tags found: `Signed-off-by: Frieder Schrempf`, `Reviewed-by:
Krzysztof Kozlowski`, `Link:
https://patch.msgid.link/20260309085749.25747-2-frieder@fris.de`,
`Signed-off-by: Alexandre Belloni`. No `Fixes`, `Reported-by`, `Tested-
by`, or `Cc: stable`.
1.3 Record: Commit body says only that explicit VDD regulator
specification should be allowed. The series and v2 discussion verify the
concrete issue: the companion DTS fix adds `vdd-supply` so fw_devlink
orders PMIC before RTC, avoiding sporadic boot hangs.
1.4 Record: Hidden bug-fix context exists, but not in this patch alone.
This patch fixes a DT schema gap that blocked a real DTS boot-hang fix.
2.1 Record: One file changed,
`Documentation/devicetree/bindings/rtc/microcrystal,rv3028.yaml`; 2
lines added; no functions; single-file schema change.
2.2 Record: Before, `unevaluatedProperties: false` rejected `vdd-
supply`. After, `vdd-supply: true` permits the regulator phandle.
2.3 Record: Bug category is DT schema/build-validation fix and
prerequisite for hardware dependency expression. Not memory safety,
locking, or runtime driver logic.
2.4 Record: Fix is obviously correct and minimal. Regression risk is
very low because it only relaxes schema validation for one standard
supply property.
3.1 Record: Blame shows the binding file was introduced by
`c690048ed59b5` in `v6.3-rc1`; `#clock-cells` was added by
`4015580e983da` in `v6.12-rc1`.
3.2 Record: Candidate has no `Fixes:` tag. Companion DTS patch fixes
`946ab10e3f40f`, introduced in `v6.13-rc1`.
3.3 Record: Recent binding history only shows the file creation and
`#clock-cells` addition. The patch is standalone, but its stable value
is tied to the companion DTS fix.
3.4 Record: Author has multiple Kontron DTS fixes in local history; not
the RTC maintainer, but the patch was reviewed by Krzysztof Kozlowski
and applied by Alexandre Belloni.
3.5 Record: No code dependencies. For meaningful runtime benefit,
backport with `arm64: dts: imx8mp-kontron: Fix boot order for PMIC and
RTC`.
4.1 Record: `b4 dig -c 10663044bee5` found the original v3 patch at the
supplied lore/msgid URL. `b4 dig -a` found v1 and v3 series history; v3
added the missing binding patch.
4.2 Record: `b4 dig -w` showed relevant DT/RTC maintainers and lists
were included.
4.3 Record: v2 discussion verified Frank Li dropped the DTS fix because
it caused `dtb_check` warning: `'vdd-supply' is not allowed`; Frieder
replied that v3 adds the binding patch.
4.4 Record: Series context is 2 patches in v3: this binding patch and
the DTS boot-order fix. Binding was applied by Alexandre Belloni; DTS
fix later applied by Frank Li.
4.5 Record: I found no stable-specific discussion or explicit stable
nomination.
5.1 Record: No functions modified.
5.2 Record: No callers. Semantic impact is DT schema validation.
5.3 Record: Verified runtime relevance through OF supplier parsing:
`drivers/of/property.c` has `DEFINE_SUFFIX_PROP(regulators, "-supply",
NULL)` and includes `parse_regulators` in supplier bindings.
5.4 Record: Companion DTS path is reachable during device probing on
Kontron i.MX8MP OSM. PMIC driver enables the I2C level translator when
`nxp,i2c-lt-enable` is present; RTC node sits on the same I2C bus.
5.5 Record: Similar `vdd-supply: true` properties exist in many
bindings, including another RTC binding, `amlogic,meson6-rtc.yaml`.
6.1 Record: Binding exists from `v6.3+`; Kontron OSM DTS exists from
`v6.13+`. `v6.1` lacks the binding file.
6.2 Record: `git apply --check` succeeded on existing `v6.6` and `v6.12`
worktrees and current `v7.0.1`; `v6.1` fails because the file does not
exist. A separate v6.19 temporary worktree attempt ran out of space
before testing, so direct v6.19 apply was not verified.
6.3 Record: No related stable fix already found in local history.
7.1 Record: Subsystem is DT binding documentation for RTC hardware;
criticality is peripheral, but it supports a board boot-hang fix.
7.2 Record: Subsystem/file is low churn: only binding creation and
`#clock-cells` addition before this patch.
8.1 Record: Affected population is users/builders of RV3028 DTs,
especially Kontron i.MX8MP OSM users when paired with the DTS fix.
8.2 Record: Trigger for the companion bug is boot/probe ordering where
RTC is accessed before PMIC enables the I2C level shifter. Trigger for
this patch alone is DT schema validation with `vdd-supply`.
8.3 Record: Candidate alone fixes a build/validation warning. Companion
failure mode is sporadic boot hang, which is critical for affected
hardware.
8.4 Record: Benefit is high when paired with the companion DTS fix, low
if isolated. Risk is very low: two schema lines, no runtime code.
9.1 Record: For backporting: tiny, reviewed, applies cleanly to relevant
trees, enables a verified hardware boot-hang fix, standard DT supply
property. Against: schema-only and no standalone runtime fix.
9.2 Record: Stable rules: obviously correct yes; real user bug
indirectly yes via companion DTS fix; important issue yes when paired,
boot hang; small yes; no runtime API/new driver yes; applies to
v6.6/v6.12/current, not v6.1.
9.3 Record: Exception category applies: DT binding addition for existing
hardware / build-validation support.
9.4 Record: Decision is YES, but it should be treated as a
prerequisite/companion to the DTS boot-order fix, not as a standalone
runtime fix.
## Verification
- Phase 1: Parsed supplied commit message and local b4 mbox; confirmed
tags and absence of `Fixes`/stable tags.
- Phase 2: Read diff and current binding file; confirmed only `vdd-
supply: true` is added.
- Phase 3: Used `git blame`, `git describe --contains`, and file
history; confirmed binding introduction in `v6.3-rc1`, `#clock-cells`
in `v6.12-rc1`, board DTS in `v6.13-rc1`.
- Phase 4: Used `b4 am`, `b4 mbox`, `b4 diff`, `b4 dig -a`, and `b4 dig
-w`; verified v2 rejection due dtb_check warning and v3 addition of
this binding patch.
- Phase 5: Searched/read OF supplier parsing and PCA9450 code; verified
`*-supply` creates supplier links and PMIC `nxp,i2c-lt-enable` enables
the I2C level translator.
- Phase 6: Checked stable tags/worktrees; apply check passes on v6.6,
v6.12, and current tree; v6.1 lacks the file.
- Phase 7/8: Verified affected paths in Kontron DTS and binding; no
runtime code touched.
- Unverified: Direct apply check on v6.19 due temporary worktree
checkout failure, though v6.19 file contents were inspected and match
the expected context.
**YES**
Documentation/devicetree/bindings/rtc/microcrystal,rv3028.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/rtc/microcrystal,rv3028.yaml b/Documentation/devicetree/bindings/rtc/microcrystal,rv3028.yaml
index cda8ad7c12037..2ea3b40419530 100644
--- a/Documentation/devicetree/bindings/rtc/microcrystal,rv3028.yaml
+++ b/Documentation/devicetree/bindings/rtc/microcrystal,rv3028.yaml
@@ -32,6 +32,8 @@ properties:
- 9000
- 15000
+ vdd-supply: true
+
required:
- compatible
- reg
--
2.53.0
^ permalink raw reply related [flat|nested] 3+ messages in thread* [PATCH AUTOSEL 7.0-5.15] dt-bindings: clock: qcom,gcc-sc8180x: Add missing GDSCs
[not found] <20260428104133.2858589-1-sashal@kernel.org>
2026-04-28 10:40 ` [PATCH AUTOSEL 7.0-5.10] dt-bindings: arm64: add Marvell 7k COMe boards Sasha Levin
2026-04-28 10:40 ` [PATCH AUTOSEL 7.0-6.6] dt-bindings: rtc: microcrystal,rv3028: Allow to specify vdd-supply Sasha Levin
@ 2026-04-28 10:41 ` Sasha Levin
2 siblings, 0 replies; 3+ messages in thread
From: Sasha Levin @ 2026-04-28 10:41 UTC (permalink / raw)
To: patches, stable
Cc: Val Packett, Krzysztof Kozlowski, Bjorn Andersson, Sasha Levin,
agross, konrad.dybcio, mturquette, sboyd, robh+dt,
krzysztof.kozlowski+dt, conor+dt, linux-arm-msm, linux-clk,
devicetree, linux-kernel
From: Val Packett <val@packett.cool>
[ Upstream commit 76404ffbf07f28a5ec04748e18fce3dac2e78ef6 ]
There are 5 more GDSCs that we were ignoring and not putting to sleep,
which are listed in downstream DTS. Add them.
Signed-off-by: Val Packett <val@packett.cool>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260312112321.370983-2-val@packett.cool
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
LLM Generated explanations, may be completely bogus:
I have all the evidence I need. Now let me write my analysis.
## Phase 1: Commit Message Forensics
**Step 1.1: Parse subject line**
Record: Subsystem: `dt-bindings: clock: qcom,gcc-sc8180x`. Action verb:
"Add". Summary: Adds 5 missing GDSC (Global Distributed Switch
Controller) #defines to the binding header.
**Step 1.2: Parse all tags**
Record: Tags found: `Signed-off-by: Val Packett`, `Acked-by: Krzysztof
Kozlowski` (DT bindings maintainer), `Link:` to lore.kernel.org thread,
`Signed-off-by: Bjorn Andersson` (Qualcomm maintainer who applied). No
`Fixes:` tag on this bindings patch (but its companion driver patch
`3565741eb985a` has `Fixes: 4433594bbe5d`). No `Cc: stable` tag.
**Step 1.3: Analyze commit body**
Record: "There are 5 more GDSCs that we were ignoring and not putting to
sleep" — explicitly describes missing PM/power management support. The
commit adds 5 new #define identifiers (values 11-15) for MMNOC MMU TBU
(HF0/HF1/SF) and Turing MMU TBU0/TBU1 GDSCs. No version info mentioned.
Author's explanation: these were missing from mainline driver but
present in downstream DTS.
**Step 1.4: Detect hidden fix**
Record: Language uses "Add missing" — typical hidden-fix pattern. The
driver companion has `Fixes: 4433594bbe5d` tag pointing to the original
SC8180x driver (v5.12). This is a bug fix by nature (missing power
management), but THIS patch is only the header definitions.
## Phase 2: Diff Analysis
**Step 2.1: Inventory**
Record: Single file modified: `include/dt-bindings/clock/qcom,gcc-
sc8180x.h`. 5 lines added, 0 removed. Zero functions modified — purely
adding preprocessor macros.
**Step 2.2: Code flow change**
Record: Before: header defined GDSC IDs 0-10. After: header defines GDSC
IDs 0-15 (adds 11-15). No execution-path change; these are constants
used by other code (driver `drivers/clk/qcom/gcc-sc8180x.c` in the
companion patch) and potentially DTS files.
**Step 2.3: Bug mechanism category**
Record: Category (h) Hardware enablement — adds IDs needed to expose
hardware GDSCs. This is a prerequisite for the follow-on driver patch
that actually registers the 5 GDSCs so they can be power-managed.
**Step 2.4: Fix quality**
Record: Trivially correct — just #define additions. Zero regression risk
on its own (unused constants). Obvious correctness verifiable by reading
the names and numbering. No red flags.
## Phase 3: Git History Investigation
**Step 3.1: Blame**
Record: The file was introduced in commit 4433594bbe5d (SC8180x GCC
driver, v5.12-rc1, January 2021). The existing GDSC section (IDs 0-10)
has been stable since then. This patch only appends new IDs.
**Step 3.2: Fixes target**
Record: This bindings patch has no Fixes: tag. The driver companion
`3565741eb985a` has `Fixes: 4433594bbe5d` ("clk: qcom: gcc: Add global
clock controller driver for SC8180x"). That target commit is in v5.12
and every stable tree since (5.15, 6.1, 6.6, 6.12).
**Step 3.3: File history**
Record: Recent changes to the file have been small additions (GPLL9
support, USB MP resets, UFS QREF clocks) — standard "add missing"
completions. This fits the same pattern. Part of an 11-patch series
"clk: qcom: sc8180x: PM-related fixes (and refactoring)" but this
specific commit + the driver commit (patches 01/11 and 02/11) are the
only "fix missing GDSCs" pair.
**Step 3.4: Author context**
Record: Author Val Packett has submitted Qualcomm platform work
previously; the patch is Acked-by the DT binding maintainer (Krzysztof
Kozlowski) and applied by the Qualcomm SoC maintainer (Bjorn Andersson).
The driver commit got Reviewed-by from two additional Qualcomm
maintainers (Dmitry Baryshkov, Konrad Dybcio).
**Step 3.5: Dependencies**
Record: This bindings patch is a prerequisite for the driver patch
`3565741eb985a`, which references `HLOS1_VOTE_MMNOC_MMU_TBU_HF0_GDSC`
etc. Without this header change, the driver patch won't compile
(verified: `drivers/clk/qcom/gcc-sc8180x.c:17` includes this header).
## Phase 4: Mailing List Research
**Step 4.1: Original discussion**
Record: `b4 dig -c 76404ffbf07f2` found
https://patch.msgid.link/20260312112321.370983-2-val@packett.cool. Part
of v2 series (v1 had 7 patches, v2 expanded to 11 patches). Applied
version is v2. Thread saved; no stable nominations, no NAKs, no concerns
raised on this specific patch.
**Step 4.2: Reviewers**
Record: Acked-by Krzysztof Kozlowski (DT bindings maintainer). The
broader series was reviewed by subsystem maintainers Dmitry Baryshkov
and Konrad Dybcio.
**Step 4.3: Bug report search**
Record: No Reported-by tag, no bug link. The issue was identified by
comparing against downstream DTS.
**Step 4.4: Series context**
Record: 11-patch series. Patches 01-02 are the "add missing GDSCs" pair
(bindings + driver). Patches 03-06 are PM retention/runtime-PM
enablement (larger functional changes). Patches 07-08 are dispcc
changes, 09-11 are camcc refactoring. Only 01+02 are tight bug-fix
material.
**Step 4.5: Stable list**
Record: No stable-list discussion found about this specific patch.
## Phase 5: Code Semantic Analysis
**Step 5.1: Key symbols**
Record: 5 preprocessor constants:
HLOS1_VOTE_MMNOC_MMU_TBU_HF0/HF1/SF_GDSC and
HLOS1_VOTE_TURING_MMU_TBU0/1_GDSC. No functions modified.
**Step 5.2-5.4: Callers/callees**
Record: Used by `drivers/clk/qcom/gcc-sc8180x.c` to index into the
`gcc_sc8180x_gdscs[]` array (verified via grep). Not directly reachable
from user code; these IDs reference power domains managed by the clock
framework and consumed by SMMU/Turing subsystems on SC8180x hardware
(e.g. Microsoft Surface Pro X).
**Step 5.5: Similar patterns**
Record: **Strong precedent found**. An essentially identical SC8280XP
pair exists:
- `9eba4db02a88` (SC8280XP bindings: "Add missing GDSCs") +
`4712eb7ff85b` (SC8280XP driver fix)
- Both were backported to stable as `66120ba55999a` (explicitly labeled
`Stable-dep-of: 4712eb7ff85b`) and `a92a9604e8a43` respectively. The
SC8280XP commit message is almost verbatim identical, and the Qualcomm
stable process treated the bindings half as a required dependency.
## Phase 6: Cross-referencing / Stable Tree
**Step 6.1: Code in stable**
Record: The header file and driver exist in all stable trees ≥5.12. The
incomplete GDSC list is present in all active stable trees.
**Step 6.2: Backport cleanliness**
Record: Bindings file context from line 320-325 is unchanged since 2023
(last modification 19ac3579af14e "Add missing bindings on gcc-sc8180x").
The addition appends at end of GDSC section — should apply cleanly to
all stable trees without conflicts.
**Step 6.3: Related fixes in stable**
Record: SC8280XP equivalent already in stable (same fix pattern for
sibling SoC).
## Phase 7: Subsystem
**Step 7.1**: Record: `drivers/clk/qcom/` (via header it defines) and
`include/dt-bindings/` — Qualcomm clock/PM subsystem. Criticality:
PERIPHERAL (specific to SC8180x, used in Microsoft Surface Pro X-class
laptops and similar devices).
**Step 7.2**: Record: Qualcomm clock driver area is actively maintained;
this patch went through normal review cycle (v1→v2).
## Phase 8: Impact / Risk
**Step 8.1: Affected users**
Record: SC8180x platform users (notably Surface Pro X; ARM64 laptops).
When combined with driver patch, affects power consumption on these
devices.
**Step 8.2: Trigger**
Record: Always active — SMMU TBU / Turing TBU GDSCs remain powered-on
because kernel doesn't vote them off.
**Step 8.3: Severity of this patch alone**
Record: This bindings-only patch has ZERO runtime effect by itself.
Severity of the **combined fix** (with companion driver patch): MEDIUM —
power waste, excess heat, degraded battery. Not a crash, not a
corruption, but real user-facing PM issue.
**Step 8.4: Risk-benefit**
Record: Benefit: enables the companion driver fix to apply and build.
Risk: essentially zero (5 unused preprocessor macros if driver patch not
applied). As Stable-dep-of — safe and necessary.
## Phase 9: Synthesis
**Evidence FOR:**
- Companion driver fix has `Fixes: 4433594bbe5d` pointing to v5.12;
valid bug fix
- Strong, nearly identical precedent: SC8280XP pair was backported to
stable exactly this way (Stable-dep-of marker)
- Five trivial macro additions; zero regression risk
- Applies cleanly to all stable trees (no conflicts in the appended
section)
- Acked by DT bindings maintainer, reviewed by Qualcomm maintainers
- Required prerequisite — without it the driver fix will not compile in
stable
**Evidence AGAINST:**
- This patch alone has no runtime effect; it's a dependency, not a
standalone fix
- The underlying issue is "missing PM" not "crash/corruption"
- Part of a larger 11-patch series, most of which is NOT stable material
**Stable rules check:**
1. Obviously correct — yes (5 #define lines)
2. Fixes real bug — yes, when paired with driver patch (power waste)
3. Important issue — borderline: PM/power waste, not crash
4. Small & contained — yes (5 lines, 1 file)
5. No new features/APIs — yes (enables existing hardware features
already in DT bindings header)
6. Applies to stable — yes (verified file structure unchanged)
**Exception category**: This is effectively a DT binding additions for
existing hardware (exception category 3) AND a required Stable-dep-of
for a Fixes:-tagged driver commit — which was the exact rationale used
for the SC8280XP precedent.
## Verification
- [Phase 1] Parsed tags via `git show 76404ffbf07f2`: Acked-by Krzysztof
Kozlowski, Signed-off-by Bjorn Andersson, Link to lore. No
Fixes:/stable tags on bindings commit.
- [Phase 1] Companion `git show 3565741eb985a` confirmed `Fixes:
4433594bbe5d` and two Reviewed-by tags.
- [Phase 2] Diff analysis: 5 line additions in one file, pure #define
macros.
- [Phase 3] `git show 4433594bbe5d` and `git describe --contains
4433594bbe5d` → v5.12-rc1~110^2^4~33. Bug present since v5.12.
- [Phase 3] `git log --oneline -- include/dt-bindings/clock/qcom,gcc-
sc8180x.h`: confirms file has been amended via "Add missing X" commits
repeatedly.
- [Phase 4] `b4 dig -c 76404ffbf07f2`: found
https://patch.msgid.link/20260312112321.370983-2-val@packett.cool
- [Phase 4] `b4 dig -c 76404ffbf07f2 -a`: found v1 (7-patch) and v2
(11-patch). Applied = v2 (latest).
- [Phase 4] Thread saved and searched for "stable": no stable
nominations or objections.
- [Phase 5] `grep qcom,gcc-sc8180x.h drivers/clk/qcom/gcc-sc8180x.c`:
confirms line 17 includes this header — driver build depends on these
defines.
- [Phase 5] `git show 3565741eb985a | grep HLOS1_VOTE_`: driver patch
uses all 5 new defines.
- [Phase 5] Precedent: `git show 66120ba55999a`: confirmed "[ Upstream
commit 9eba4db02a88e7a810aabd70f7a6960f184f391f ]" and "Stable-dep-of:
4712eb7ff85b" — identical pattern backported to stable for SC8280XP.
- [Phase 5] `git show a92a9604e8a43`: confirmed companion SC8280XP
driver fix was also backported.
- [Phase 6] `git describe --contains 9eba4db02a88` → v6.6-rc1. Stable
backports landed in older branches with Stable-dep-of marker.
- [Phase 6] Read current file (lines 300-327): confirmed GDSC section
ends at USB30_SEC_GDSC=10; appending 5 new IDs won't conflict with any
downstream state in stable.
- UNVERIFIED: Could not fetch the actual lore thread content (anti-bot
wall); relied on saved mbox and local commit metadata. Could not
verify stable maintainer's intention for this specific pair, but
SC8280XP precedent is unambiguous.
## Conclusion
This is a pure DT-bindings header addition that is safe on its own (zero
runtime impact) and is a **required prerequisite** for the companion
driver patch `3565741eb985a` which has a `Fixes:` tag pointing to v5.12.
The almost identical SC8280XP bindings commit (`9eba4db02a88`) was
backported to stable as `Stable-dep-of: 4712eb7ff85b`, establishing a
clear precedent. Without this patch, the driver fix cannot compile in
stable trees. It is small, obviously correct, applies cleanly, and
follows an exception category (DT bindings for existing hardware +
required dependency for a Fixes:-tagged fix).
**YES**
include/dt-bindings/clock/qcom,gcc-sc8180x.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/include/dt-bindings/clock/qcom,gcc-sc8180x.h b/include/dt-bindings/clock/qcom,gcc-sc8180x.h
index b9d8438a15ffb..9ed7b794aacc4 100644
--- a/include/dt-bindings/clock/qcom,gcc-sc8180x.h
+++ b/include/dt-bindings/clock/qcom,gcc-sc8180x.h
@@ -322,5 +322,10 @@
#define USB30_MP_GDSC 8
#define USB30_PRIM_GDSC 9
#define USB30_SEC_GDSC 10
+#define HLOS1_VOTE_MMNOC_MMU_TBU_HF0_GDSC 11
+#define HLOS1_VOTE_MMNOC_MMU_TBU_HF1_GDSC 12
+#define HLOS1_VOTE_MMNOC_MMU_TBU_SF_GDSC 13
+#define HLOS1_VOTE_TURING_MMU_TBU0_GDSC 14
+#define HLOS1_VOTE_TURING_MMU_TBU1_GDSC 15
#endif
--
2.53.0
^ permalink raw reply related [flat|nested] 3+ messages in thread