Skip to content

QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic#607

Open
mvadlama-lab wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
mvadlama-lab:combo_nhx_dtsi
Open

QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic#607
mvadlama-lab wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
mvadlama-lab:combo_nhx_dtsi

Conversation

@mvadlama-lab
Copy link
Copy Markdown

@mvadlama-lab mvadlama-lab commented May 20, 2026

Prevent GPIOs managed by pinctrl from being requested and freed via the GPIO framework. Restrict GPIO request/free operations to non-pinctrl GPIOs by adding appropriate conditions.

CRs-Fixed: 4515096

@mvadlama-lab mvadlama-lab requested review from a team, idlethread, jingyiwang42 and ndechesne May 20, 2026 13:43
@qswat-orbit-external
Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@qswat-orbit-external
Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@qswat-orbit-external
Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

No associated change tasks found for CR 4515096 on any of the following entities:

Entities:

  • kernel.qli.2.0

CR: 4515096

Please ensure the CR has a change task associated with at least one of the entities for this branch.

@qswat-orbit-external
Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4515096 is not eligible for merge.

The parent software image for kernel.qli.2.0 is not development complete.

Entity: kernel.qli.2.0
CR: 4515096
Reason: CR_CANNOT_MERGE

Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations.

@qlijarvis
Copy link
Copy Markdown

PR #607 — validate-patch

PR: #607

Verdict Issues Detailed Report
N/A 0 Full report

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commits
Verdict: N/A — click to expand

🔍 Patch Validation

PR: #607 - QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic
Upstream commit: N/A (vendor-only commits)
Verdict: ⏭️ SKIP (validation not applicable)

Analysis

This PR contains 2 commits, both with the QCLINUX: prefix:

  1. Commit 1/2: QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic
  2. Commit 2/2: QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic

Commit Message

Check Status Note
Subject matches upstream N/A No upstream source; vendor-only commits
Body preserves rationale Clear description of GPIO management fix
Fixes tag present/correct N/A No Fixes tag; not a backport
Authorship preserved Consistent author across both commits
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi Commit 1: Removes MCLK GPIO from pinctrl and gpio tables (248 lines changed)
arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi Commit 2: Whitespace/indentation cleanup (38 lines changed)

Observations

Commit 1/2:

  • Removes MCLK GPIO references (<&tlmm 72/73/74/75 0>) from camera sensor nodes
  • Removes MCLK pinctrl references (cam_sensor_mclk*_active/suspend) from pinctrl-0/1
  • Updates gpio-reset and gpio-custom1 indices (from 1,2 to 0,1)
  • Updates gpio-req-tbl-num, gpio-req-tbl-flags, and gpio-req-tbl-label accordingly
  • Removes pinctrl entries entirely for some sensor nodes (cam1 variants)
  • Rationale: Prevents GPIO framework from managing GPIOs already controlled by pinctrl

Commit 2/2:

  • Pure whitespace fix: replaces mixed spaces with tabs in gpio-req-tbl-label indentation
  • Includes CRs-Fixed: 4515096 tag (internal Qualcomm CR reference)
  • No functional changes

Verdict

Both commits are vendor-only (QCLINUX: prefix) and do not require upstream lore validation.

According to the validate-patch skill:

Commits with QCLINUX:, PENDING:, or WORKAROUND: prefixes have no upstream lore link by design and cannot be validated with this skill.

The commits are internally consistent:

  • Clear commit messages describing the GPIO management fix
  • Proper authorship and sign-off
  • Logical split: functional change (commit 1) + cleanup (commit 2)
  • Internal CR tracking present (commit 2)

Recommendation: These commits are appropriate for vendor tree inclusion. No upstream validation required.

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commits

@qlijarvis
Copy link
Copy Markdown

PR #607 — checker-log-analyzer

PR: #607
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/26279417754

Checker Result Summary
Checker Result Summary
checkpatch 4 indentation errors in commit 1dce6f7
dt-binding-check ⏭️ No binding changes
dtb-check Pre-existing reg_format and avoid_default_addr_size errors (not caused by PR)
sparse-check ⏭️ No C/H changes
check-uapi-headers ⏭️ No C/H changes
check-patch-compliance QCLINUX: prefix not accepted (known limitation)
tag-check Both commits have valid prefix (QCLINUX:)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #607 - Fix GPIO free and acquire logic
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/26279417754
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch 4 indentation errors in commit 1dce6f7
dt-binding-check ⏭️ No binding changes
dtb-check Pre-existing reg_format and avoid_default_addr_size errors (not caused by PR)
sparse-check ⏭️ No C/H changes
check-uapi-headers ⏭️ No C/H changes
check-patch-compliance QCLINUX: prefix not accepted (known limitation)
tag-check Both commits have valid prefix (QCLINUX:)

❌ checkpatch

Root cause: Mixed tabs and spaces in indentation for multi-line string literals in arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi:744

Failure details:

Commit 1dce6f7c839e ("QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic")
ERROR: code indent should use tabs where possible
#258: FILE: arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi:744:
+			             "CAM_CUSTOM1";

ERROR: code indent should use tabs where possible
#289: FILE: arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi:775:
+			             "CAM_CUSTOM1";

ERROR: code indent should use tabs where possible
#349: FILE: arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi:971:
+			             "CAM_CUSTOM1";

ERROR: code indent should use tabs where possible
#381: FILE: arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi:1002:
+			             "CAM_CUSTOM1";

1dce6f7c839ea041f8fdc7f0148075206dc231b5 total: 4 errors, 0 warnings, 0 checks

Fix: Replace leading spaces with tabs in the continuation lines of gpio-req-tbl-label properties:

git rebase -i f8d09d824665   # mark commit 1dce6f7c as 'edit'
# Fix indentation: replace spaces with tabs before "CAM_CUSTOM1"
sed -i 's/^			             /\t\t\t     /' arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi
git add arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi
git commit --amend --no-edit
git rebase --continue

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git f8d09d824665..0ad297881519

❌ dtb-check

Root cause: Pre-existing reg_format and avoid_default_addr_size errors in lemans-evk-camera-sensor.dtsi for graph port nodes — not introduced by this PR.

Failure details:

Log Summary: Test failed
../arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi:334.4-14: Warning (reg_format): 
  /fragment@0/__overlay__/qcom,cci1@ac14000/qcom,cam-gmsl-deserializer1/port@0:reg: 
  property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
[... 11 more similar reg_format errors for port@0-3 in cci1/cci2/cci3 ...]

../arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi:333.10-339.5: Warning (avoid_default_addr_size): 
  /fragment@0/__overlay__/qcom,cci1@ac14000/qcom,cam-gmsl-deserializer1/port@0: 
  Relying on default #address-cells value
[... 23 more similar avoid_default_addr_size errors ...]

Analysis: This PR modifies only pinctrl-*, gpios, gpio-* properties — it does not touch any port@ nodes or their reg properties. These errors exist in the baseline tree and are exposed when the DTB is built. The checker's baseline subtraction should have filtered them, but they appear anyway (likely because the base build was incomplete or the file was not previously built).

Fix: These errors should be fixed in a separate PR addressing the pre-existing graph port issues:

  1. Add #address-cells = <1>; #size-cells = <0>; to each ports parent node
  2. Fix reg properties in port@N nodes to use single-cell format: reg = <0>;, reg = <1>;, etc.

This PR should not be blocked by these pre-existing tree issues.

Reproduce locally:

make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtbo

❌ check-patch-compliance

Root cause: QCLINUX: prefix is not in the checker's allowed list (FROMLIST, FROMGIT, UPSTREAM, BACKPORT) — this is a known checker limitation for vendor-only commits.

Failure details:

Checking commit: QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic
Commit summary does not start with a required prefix
[repeated for both commits]

Analysis: Both commits use the QCLINUX: prefix, which is a valid vendor-internal prefix for changes with no upstream equivalent. However, check-patch-compliance only accepts upstream-linkable prefixes. This is a known limitation — vendor-only commits will always fail this checker.

Fix: None required. This is expected behavior for QCLINUX:-prefixed commits. If these changes are later posted upstream, change the prefix to FROMLIST: and add a Link: tag.


Verdict

2 blockers to fix before merge:

  1. checkpatch: Fix tab/space indentation errors in commit 1dce6f7 (4 lines)
  2. check-patch-compliance: Expected failure for QCLINUX: prefix — no action needed (known limitation)

dtb-check failures are pre-existing tree issues not caused by this PR and should not block merge. They should be addressed in a separate cleanup PR.

@qswat-orbit-external
Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4515096 is not eligible for merge.

The parent software image for kernel.qli.2.0 is not development complete.

Entity: kernel.qli.2.0
CR: 4515096
Reason: CR_CANNOT_MERGE

Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations.

Copy link
Copy Markdown

@shashim-quic shashim-quic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to use CRs-Fixed in commit log. Adding it to PR description siffice.

Also fix your commit log, it is having duplicate writing.

@qlijarvis
Copy link
Copy Markdown

PR #607 — validate-patch

PR: #607

Verdict Issues Detailed Report
⚠️ 0 Full report

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commit
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #607 - QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic
Upstream commit: N/A (vendor-only commit)
Verdict: ⚠️ N/A — QCLINUX: vendor-only commit

Commit Message

Check Status Note
Subject matches upstream N/A QCLINUX: prefix — no upstream source
Body preserves rationale Clear description of GPIO management fix
Fixes tag present/correct N/A CRs-Fixed: 4515096 (internal CR, not upstream Fixes tag)
Authorship preserved Vadlamani Manjusha mvadlama@qti.qualcomm.com
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi Removes MCLK GPIO from pinctrl management across multiple camera sensor nodes; adjusts gpio-req-tbl arrays and indices consistently

Issues

Commit message duplication: The commit message body is duplicated in the patch (appears twice with identical content). This is a formatting issue but does not affect the technical correctness of the change.

Whitespace inconsistency: Several instances of missing space after = in gpios =<&tlmm ...> (should be gpios = <&tlmm ...>). This is a minor style issue.

Verdict

This is a vendor-only commit (QCLINUX: prefix) that removes MCLK GPIO pins from camera sensor device tree nodes to prevent conflicts between pinctrl and GPIO framework management. The change is internally consistent across all affected sensor nodes. The commit message duplication should be cleaned up, but the technical content is sound for a vendor-specific device tree modification.

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commit

@qlijarvis
Copy link
Copy Markdown

PR #607 — checker-log-analyzer

PR: #607
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/26284377314

Checker Result Summary
Checker Result Summary
checkpatch Duplicate Signed-off-by: signature
dt-binding-check ⏭️ No binding changes
dtb-check Multiple validation errors: graph_port, gpio-req-tbl-label type mismatch
sparse-check ⏭️ No C/H changes
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance QCLINUX: prefix not in allowed list (known limitation)
tag-check Subject has valid QCLINUX: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #607 - QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/26284377314
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch Duplicate Signed-off-by: signature
dt-binding-check ⏭️ No binding changes
dtb-check Multiple validation errors: graph_port, gpio-req-tbl-label type mismatch
sparse-check ⏭️ No C/H changes
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance QCLINUX: prefix not in allowed list (known limitation)
tag-check Subject has valid QCLINUX: prefix

❌ checkpatch

Root cause: The commit message contains a duplicate Signed-off-by: line for the same author.

Failure details:

WARNING: Duplicate signature
#23: 
Signed-off-by: Vadlamani Manjusha <mvadlama@qti.qualcomm.com>

6a0b08333cbc total: 0 errors, 1 warnings, 0 checks, 402 lines checked

The commit body has the Signed-off-by: trailer appearing twice with identical content.

Fix:

git rebase -i f8d09d824665   # mark commit 6a0b08333cbc as 'edit'
# Edit the commit message to remove the duplicate Signed-off-by line
git commit --amend
# Remove one of the duplicate Signed-off-by lines in the editor
git rebase --continue

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git f8d09d824665..6a0b08333cbc

❌ dtb-check

Root cause: The patch modifies gpio-req-tbl-label properties, changing them from 3-element arrays to 2-element arrays with different formatting. This triggers DT schema validation errors because the binding expects gpio-req-tbl-label to be an array of strings, but the new format produces a byte string that doesn't match the expected type.

Failure details:

Log Summary: Test failed

lemans-camx-el2.dtb: qcom,eeprom30 (qcom,eeprom): gpio-req-tbl-label: 
  b'CAMIF_RESET3\x00CAM_CUSTOM1\x00' is not of type 'object', 'integer', 'array', 'boolean', 'null'

lemans-camx-el2.dtb: qcom,cam-sensor30 (qcom,cam-sensor): gpio-req-tbl-label: 
  b'CAMIF_RESET3\x00CAM_CUSTOM1\x00' is not of type 'object', 'integer', 'array', 'boolean', 'null'

[... repeated for multiple sensor nodes across lemans-camx-el2.dtb and lemans-evk-camx.dtb ...]

Additionally, there are pre-existing graph_port and avoid_default_addr_size warnings in lemans-evk-camera-sensor.dtsi that are unrelated to this PR's changes (these are tree-wide issues in the camera sensor DTSI file).

Analysis:

The patch changes gpio-req-tbl-label from:

gpio-req-tbl-label = "CAM_MCLK0",
                     "CAMIF_RESET0",
                     "CAM_CUSTOM1";

to:

gpio-req-tbl-label = "CAMIF_RESET0",
                     "CAM_CUSTOM1";

The DT schema validation is failing because the resulting compiled DTB property doesn't match the expected type. This suggests either:

  1. The binding schema for qcom,eeprom and qcom,cam-sensor has strict type requirements that aren't being met, or
  2. The DTS syntax used is producing an unexpected binary representation.

Fix:

The gpio-req-tbl-label property should be formatted as a proper string array. Verify the binding requirements and ensure the property matches the expected format:

gpio-req-tbl-label = "CAMIF_RESET0", "CAM_CUSTOM1";

(Remove the line break and extra indentation between array elements to ensure proper DTS parsing.)

Alternatively, if the binding allows, use the <> array syntax if these are meant to be cell arrays rather than string arrays.

Reproduce locally:

make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/lemans-camx-el2.dtb
make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/lemans-evk-camx.dtb

❌ check-patch-compliance

Root cause: The commit subject uses the QCLINUX: prefix, which is not in the checker's allowed list (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:).

Failure details:

Checking commit: QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic
Commit summary does not start with a required prefix

Analysis:

This is a known limitation of the check-patch-compliance checker. The QCLINUX: prefix is used for vendor-only changes that have no upstream equivalent, but the checker only accepts upstream-linkable prefixes. This failure is expected for vendor-specific commits.

Fix:

There are two options:

  1. If this change has been or will be posted upstream: Change the prefix to FROMLIST: and add a Link: tag pointing to the lore.kernel.org URL:

    FROMLIST: arm64: dts: qcom: Fix GPIO free and acquire logic
    
    [commit body]
    
    Link: https://lore.kernel.org/...
    Signed-off-by: Vadlamani Manjusha <mvadlama@qti.qualcomm.com>
    
  2. If this is genuinely vendor-only: Accept that check-patch-compliance will always fail for QCLINUX: commits. This is a known checker limitation and does not block merge if the change is legitimately vendor-specific.

Given the nature of this change (GPIO management logic specific to Qualcomm's vendor tree), option 2 is likely appropriate. The tag-check (subject prefix validation) passes because QCLINUX: is a valid prefix for the target branch qcom-6.18.y.


Verdict

3 blockers must be fixed before merge:

  1. checkpatch — Remove duplicate Signed-off-by: line (trivial fix)
  2. dtb-check — Fix gpio-req-tbl-label formatting to resolve DT schema validation errors (requires DTS syntax correction)
  3. check-patch-compliance — Either post upstream and use FROMLIST: + Link:, or accept this as a known limitation for vendor-only QCLINUX: commits

The dtb-check failure is the most significant blocker, as it indicates the DTS changes produce invalid DTB output that doesn't match the binding schema. The gpio-req-tbl-label property formatting must be corrected to ensure proper DT validation.

@qcomlnxci qcomlnxci requested a review from a team May 25, 2026 12:07
@qswat-orbit-external
Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4515096 is not eligible for merge.

The parent software image for kernel.qli.2.0 is not development complete.

Entity: kernel.qli.2.0
CR: 4515096
Reason: CR_CANNOT_MERGE

Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations.

@qlijarvis
Copy link
Copy Markdown

PR #607 — validate-patch

PR: #607

Verdict Issues Detailed Report
N/A 0 Full report

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commits are specific to this tree and not expected in qcom-next upstream branch
Verdict: N/A — click to expand

🔍 Patch Validation

PR: #607 — QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic
Upstream commit: N/A (vendor-only)
Verdict: ⏭️ NOT APPLICABLE (vendor-only commits)

Commit Message

Check Status Note
Subject matches upstream N/A QCLINUX: prefix indicates vendor-only change
Body preserves rationale Describes the change: prevent GPIOs managed by pinctrl from being requested via GPIO framework
Fixes tag present/correct N/A No Fixes tag; not a bug fix of upstream commit
Authorship preserved Author: Vadlamani Manjusha mvadlama@qti.qualcomm.com
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi Commit 1: Removes MCLK GPIO from pinctrl and gpio tables across multiple camera sensor nodes; Commit 2: Fixes indentation alignment

Verdict

These are vendor-only commits (QCLINUX: prefix) with no upstream equivalent. The changes are specific to the Qualcomm vendor tree and are not intended for upstream submission. Validation against lore.kernel.org is not applicable.

Technical review of the changes:

  • Commit 1 removes MCLK GPIOs (tlmm 72, 73, 74, 75) from the gpios property and associated pinctrl references across camera sensor nodes. This prevents the camera driver from requesting these GPIOs via the GPIO framework when they are already managed by pinctrl (MCLK clock control). The change is consistent across all affected sensor nodes.
  • Commit 2 is a pure whitespace fix, correcting tab/space alignment in gpio-req-tbl-label properties.

Both commits are internally consistent and follow the stated intent in the commit message.

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commits are specific to this tree and not expected in qcom-next upstream branch

@qlijarvis
Copy link
Copy Markdown

PR #607 — checker-log-analyzer

PR: #607
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/26400250636

Checker Result Summary
Checker Result Summary
checkpatch Both commits passed
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Pre-existing graph_port/reg_format errors in lemans-evk-camera-sensor.dtsi
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no C/H changes)
check-patch-compliance QCLINUX: prefix not in allowed list
tag-check QCLINUX: is a valid prefix for qcom-6.18.y

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #607 — QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic
Target branch: qcom-6.18.y
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/26400250636

Checker Result Summary
checkpatch Both commits passed
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Pre-existing graph_port/reg_format errors in lemans-evk-camera-sensor.dtsi
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no C/H changes)
check-patch-compliance QCLINUX: prefix not in allowed list
tag-check QCLINUX: is a valid prefix for qcom-6.18.y

❌ check-patch-compliance

Root cause: Both commits use the QCLINUX: prefix, which is not in the checker's allowed list (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:).

Failure details:

Checking commit: QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic
Commit summary does not start with a required prefix

Analysis: This is a known checker limitation. The check-patch-compliance checker only accepts upstream-linkable prefixes (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:). Vendor-only commits with QCLINUX: or PENDING: prefixes will always fail this checker, even though they are valid prefixes for the qcom-6.18.y branch.

Fix: None required. This is expected behavior for vendor-only changes. The QCLINUX: prefix is correct for these commits since they are vendor-specific DTS modifications with no upstream equivalent.


❌ dtb-check

Root cause: Pre-existing graph port validation errors in lemans-evk-camera-sensor.dtsi — missing #address-cells/#size-cells declarations and incorrect port numbering.

Failure details:

lemans-evk-camera-sensor.dtsi:334.4-14: Warning (reg_format): 
  /fragment@0/__overlay__/qcom,cci1@ac14000/qcom,cam-gmsl-deserializer1/port@0:reg: 
  property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)

lemans-evk-camera-sensor.dtsi:333.10-339.5: Warning (graph_port): 
  /fragment@0/__overlay__/qcom,cci1@ac14000/qcom,cam-gmsl-deserializer1/port@0: 
  graph node '#address-cells' is -1, must be 1

lemans-evk-camera-sensor.dtsi:333.10-339.5: Warning (graph_port): 
  /fragment@0/__overlay__/qcom,cci1@ac14000/qcom,cam-gmsl-deserializer1/port@0: 
  graph node '#size-cells' is -1, must be 0

lemans-evk-camera-sensor.dtsi:349.10-355.5: Warning (graph_port): 
  /fragment@0/__overlay__/qcom,cci1@ac14000/qcom,cam-gmsl-deserializer1/port@2: 
  graph node unit address error, expected "0"

Analysis: These errors affect all four CCI deserializer nodes (cci0, cci1, cci2, cci3) in the file. The PR modifies GPIO/pinctrl properties in camera sensor nodes but does not touch the graph port definitions. These errors existed before the PR:

  • The errors appear at lines 334, 342, 350, 358 (cci1), 593, 601, 609, 617 (cci2), 820, 828, 836, 844 (cci3) — all in port node definitions.
  • The PR changes are at lines 140-153 (camera sensor GPIO properties), which are separate from the port nodes.
  • The dtb-check baseline subtraction should have filtered these out, but they appear in the "new errors" summary, indicating the base build may have been incomplete or the file was not built at base.

Fix (if required): To fix the pre-existing errors in lemans-evk-camera-sensor.dtsi, add #address-cells = <1>; #size-cells = <0>; to each ports parent node, and renumber port unit addresses sequentially from 0. However, this is not required for PR #607 — these errors are unrelated to the GPIO changes.

Reproduce locally:

make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtbo

✅ tag-check

Status: PASS (manual check)

Analysis: The target branch is qcom-6.18.y, which is not qcom-next or qcom-next-staging. Therefore, every commit must start with a valid prefix tag.

Both commits use the QCLINUX: prefix:

  • Commit 1: QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic
  • Commit 2: QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic

QCLINUX: is a valid prefix for vendor-only changes. ✅ PASS


Verdict

Ready to merge with caveats:

  1. check-patch-compliance failure is expected for QCLINUX: commits — this is a known checker limitation, not a patch defect.
  2. dtb-check failures are pre-existing issues in lemans-evk-camera-sensor.dtsi unrelated to the GPIO changes in this PR. The PR does not introduce new dtb-check errors.
  3. All other checkers passed or skipped appropriately.

Recommendation: Merge as-is. The CI failures are false positives:

  • check-patch-compliance does not support QCLINUX: prefix (vendor-only limitation).
  • dtb-check errors are pre-existing graph port issues not caused by this PR.

Prevent GPIOs managed by pinctrl from being requested and freed
via the GPIO framework. Restrict GPIO request/free operations to
non-pinctrl GPIOs by adding appropriate conditions.
   
Signed-off-by: Vadlamani Manjusha <mvadlama@qti.qualcomm.com>
@mvadlama-lab
Copy link
Copy Markdown
Author

No need to use CRs-Fixed in commit log. Adding it to PR description siffice.

Also fix your commit log, it is having duplicate writing.

Updated the according to the comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants