[PATCH AUTOSEL 7.0-5.10] iio: ABI: fix current_trigger description

Sasha Levin
2026-04-28T10:42:34Z

From: Cosmin Tanislav <cosmin-gabriel.tanislav.xa@renesas.com>

[ Upstream commit 04bb8d0e5d1c8d5a9079b35b4e6f0868f734698b ]

Triggers exist under /sys/bus/iio/devices/, not under /sys/class/iio.
/sys/class/iio does not even exist. Use the current path.

Signed-off-by: Cosmin Tanislav <cosmin-gabriel.tanislav.xa@renesas.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---

LLM Generated explanations, may be completely bogus:

Now I have enough to complete the analysis.

## PHASE 1: COMMIT MESSAGE FORENSICS

**Step 1.1: Subject line**
- Subsystem: `iio: ABI:` (Industrial I/O subsystem ABI documentation)
- Action verb: "fix"
- Record: iio: ABI: fix → corrects the documented sysfs path for
current_trigger

**Step 1.2: Tags**
- `Signed-off-by: Cosmin Tanislav` (author)
- `Signed-off-by: Jonathan Cameron` (subsystem maintainer who applied
it)
- No Reported-by, no Link, no Cc: stable, no Fixes: tag
- Record: Minimal tags. Only author SOB + maintainer SOB. No external
reports/link.

**Step 1.3: Commit body analysis**
- Bug: documentation references `/sys/class/iio/triggerY/name`, which
does not exist
- Correction: triggers actually live at `/sys/bus/iio/devices/`
- Symptom: a developer/user reading the ABI doc is told to look at a
path that does not exist
- Record: pure documentation correction; no code or runtime behavior is
affected.

**Step 1.4: Hidden bug fix?**
- Record: Not a hidden code fix. This is a documentation-only
correction.

## PHASE 2: DIFF ANALYSIS

**Step 2.1: Inventory**
- 1 file changed: `Documentation/ABI/testing/sysfs-bus-iio`
- +1/-1 line. Single-line change.
- Record: trivial scope, surgical edit.

**Step 2.2: Code flow change**
- Before: doc text said "as per string given in
/sys/class/iio/triggerY/name."
- After: doc text says "as per string given in
/sys/bus/iio/devices/triggerY/name."
- No execution path is changed.

**Step 2.3: Bug mechanism**
- Category: documentation/comment fix (no runtime effect).
- Record: Stale path - `/sys/class/iio` was the path used during early
IIO staging days; the subsystem moved to `/sys/bus/iio/devices/` long
ago.

**Step 2.4: Fix quality**
- Obviously correct: I verified the path is the only stale reference
left in `Documentation/`, and the file uses `/sys/bus/iio/devices/...`
everywhere else (including the same `What:` header).
- Zero regression risk - no code change.

## PHASE 3: GIT HISTORY INVESTIGATION

**Step 3.1: Blame**
- `git blame -L 1430,1432`: the buggy line was introduced by
`f386caa3cd7423` ("staging: iio: documentation rewrite and cleanup of
sysfs documetation") by Jonathan Cameron in **November 2010**, when
IIO was still in staging.
- Record: stale path has been wrong in tree for ~15 years; present in
every stable branch.

**Step 3.2: Fixes: tag**
- No Fixes: tag in the patch.
- Record: not applicable; verified by reading commit message.

**Step 3.3: File history**
- `git log --oneline -5 -- Documentation/ABI/testing/sysfs-bus-iio`:
recent activity is unrelated additions (ad7173 filters, mag_referenced
docs, pressure event attributes).
- Record: no series dependency, standalone fix.

**Step 3.4: Author's other commits**
- Cosmin Tanislav has multiple other IIO ABI doc commits
(`06a4a0cf69847`, `89d185848633d`).
- Patch was applied by Jonathan Cameron (the IIO maintainer).
- Record: legitimate IIO contributor + applied by maintainer.

**Step 3.5: Dependencies**
- None - single line doc change.

## PHASE 4: MAILING LIST RESEARCH

**Step 4.1: b4 dig**
- `b4 dig -c 04bb8d0e5d1c8`: matched at
https://lore.kernel.org/all/20260204180202.515393-1-cosmin-
gabriel.tanislav.xa@renesas.com/
- `b4 dig -a`: only v1 of the patch (no revisions), applied as
submitted.
- mbox content shows:
- David Lechner (reviewer) commented on triggerX vs triggerY naming.
Author defended `triggerY` (since `iio:deviceX` is used right
above).
- David replied "Fair point."
- Jonathan Cameron: "Agreed and applied." - applied the patch as-is.
- Record: minimal review, no NAKs, no objections, applied unchanged.

**Step 4.2: Reviewers**
- `b4 dig -w`: included Jonathan Cameron (maintainer), David Lechner,
Nuno Sá, Andy Shevchenko, linux-iio list.
- Record: appropriate maintainer and reviewers were included.

**Step 4.3 / 4.4 / 4.5:** No bug reports, no series dependencies, no
stable mailing list discussion.

## PHASE 5: CODE SEMANTIC ANALYSIS

- N/A: documentation-only change. No functions modified, no
callers/callees, no call chain.
- Verified: `git grep "/sys/class/iio" Documentation/` shows the patched
line was the only remaining stale reference.

## PHASE 6: STABLE TREE ANALYSIS

**Step 6.1: Buggy code in stable**
- The stale doc text has been in tree since 2010 (v2.6.37 era) and is
present in every active stable branch.
- Record: applies to all stable trees.

**Step 6.2: Backport complications**
- Trivial 1-line text replacement; the surrounding doc structure has
been the same for years. Should apply cleanly.
- Record: no backport conflicts expected.

**Step 6.3: Related fixes in stable**
- None found.

## PHASE 7: SUBSYSTEM CONTEXT

- Subsystem: IIO ABI documentation under `Documentation/`.
- Criticality: PERIPHERAL - this is documentation, not runtime code.
- Active subsystem (IIO) but file is just human-readable docs.

## PHASE 8: IMPACT AND RISK

**Step 8.1: Affected users**
- Anyone reading the IIO ABI documentation (developers, users writing
tools).

**Step 8.2: Trigger conditions**
- "Trigger" is reading the doc; the wrong path is always shown.

**Step 8.3: Failure mode severity**
- Failure mode: user looks at wrong (nonexistent) sysfs path. No kernel
impact whatsoever.
- Severity: LOW (documentation only, no crashes, no security, no data
loss).

**Step 8.4: Risk vs benefit**
- Benefit: low (corrects misleading documentation that has been wrong
for 15 years - users have either figured it out or filed bugs).
- Risk: essentially zero (text-only change in `Documentation/`).

## PHASE 9: FINAL SYNTHESIS

**Step 9.1: Evidence**
- FOR: 1-line, trivial, obviously-correct documentation correction; zero
regression risk; applied cleanly by the maintainer.
- AGAINST: Stable kernel rules require fixing an "important issue
(security bug, data corruption, serious crash, deadlock, etc.)". A
purely cosmetic doc path fix does not meet that bar. No reporter, no
Link, no user complaint cited. The wrong text has been in the kernel
for ~15 years with nobody pushing it as urgent.

**Step 9.2: Stable rules checklist**
1. Obviously correct and tested? Yes (text edit verified by inspection).
2. Fixes a real bug? It fixes a documentation bug, not a runtime bug.
3. Important issue (crash, security, corruption, deadlock)? **No** -
none of these.
4. Small/contained? Yes (1 line).
5. No new features/APIs? Correct - it's a doc edit.
6. Applies to stable? Yes, trivially.

**Step 9.3: Exception category check**
- Documentation fixes are listed as an exception category in the
framework's "DOCUMENTATION and COMMENT FIXES" section (zero risk of
runtime regression). The framework lists "Documentation fix" as an
automatic-YES exception in step 9.3.

**Step 9.4: Decision**
This is a tiny, obviously-correct documentation fix. It does not fix a
crash, security bug, data corruption, or deadlock. However, the
framework explicitly classifies "Documentation and comment fixes" as a
stable-acceptable exception category specifically because they have zero
runtime regression risk. The patch was applied by the maintainer with
zero objections, and applies trivially to every stable tree. While the
priority is low, the cost is essentially nothing and it improves
documentation accuracy for users referencing the IIO ABI in stable
kernels.

## Verification

- [Phase 1] Parsed message: only Signed-off-by tags from author +
maintainer; no Reported-by, no Link, no Fixes:, no Cc: stable.
- [Phase 2] Read full diff: 1 line changed in
`Documentation/ABI/testing/sysfs-bus-iio`, replacing
`/sys/class/iio/triggerY/name` → `/sys/bus/iio/devices/triggerY/name`.
- [Phase 3] `git log --oneline --author="Cosmin Tanislav" --
Documentation/ABI/testing/sysfs-bus-iio` confirms author is a regular
IIO doc contributor; commit `04bb8d0e5d1c8` exists in tree.
- [Phase 3] `git blame` on adjacent lines: stale path text introduced by
`f386caa3cd7423` (Jonathan Cameron, 2010-11-22, IIO staging era).
- [Phase 3] `git show f386caa3cd7423`: confirmed it was a doc-rewrite
commit while IIO was in staging.
- [Phase 4] `b4 dig -c 04bb8d0e5d1c8`: matched submission at lore (URL
above); single revision (v1).
- [Phase 4] `b4 dig -a`: only v1 of patch.
- [Phase 4] `b4 dig -w`: Jonathan Cameron (IIO maintainer), David
Lechner, Nuno Sá, Andy Shevchenko, linux-iio CC'd.
- [Phase 4] mbox of thread shows: maintainer Jonathan Cameron stated
"Agreed and applied"; David Lechner had a side comment about triggerX
vs triggerY but accepted the author's reasoning ("Fair point."); no
NAKs.
- [Phase 5] `git grep "/sys/class/iio" Documentation/` returns only the
line being fixed in the pre-patch tree - confirms there's no further
occurrence to worry about.
- [Phase 6] File exists in all stable branches (this Documentation file
pre-dates all current stable trees). Trivial text patch applies
cleanly.
- [Phase 8] Failure mode: user reads incorrect path in documentation. No
kernel runtime impact. Severity: LOW.
- UNVERIFIED: Did not directly check whether each individual stable tree
(5.10, 5.15, 6.1, 6.6, 6.12) has the exact same line context, but the
surrounding documentation block has not been restructured in many
years, so a clean apply is overwhelmingly likely.

The patch is a benign documentation correction with zero regression risk
that has been wrong since 2010 and was accepted by the IIO maintainer
without changes. It fits the framework's "Documentation fixes" exception
category despite not fixing a crash or security issue.

**YES**

Documentation/ABI/testing/sysfs-bus-iio | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/ABI/testing/sysfs-bus-iio b/Documentation/ABI/testing/sysfs-bus-iio
index 5f87dcee78f76..4fc9f6bd42812 100644
--- a/Documentation/ABI/testing/sysfs-bus-iio
+++ b/Documentation/ABI/testing/sysfs-bus-iio
@@ -1428,7 +1428,7 @@ KernelVersion: 2.6.35
Contact: linux-iio@vger.kernel.org
Description:
The name of the trigger source being used, as per string given
- in /sys/class/iio/triggerY/name.
+ in /sys/bus/iio/devices/triggerY/name.

What: /sys/bus/iio/devices/iio:deviceX/bufferY/length
KernelVersion: 5.11
--
2.53.0