Skip to content

drm/panel, gpio: Add Waveshare DSI TOUCH panel and GPIO controller support - #951

Open
qti-ssmaurya wants to merge 9 commits into
qualcomm-linux:qcom-6.18.yfrom
qti-ssmaurya:waveshare-dsi-touch-6.18
Open

drm/panel, gpio: Add Waveshare DSI TOUCH panel and GPIO controller support#951
qti-ssmaurya wants to merge 9 commits into
qualcomm-linux:qcom-6.18.yfrom
qti-ssmaurya:waveshare-dsi-touch-6.18

Conversation

@qti-ssmaurya

Copy link
Copy Markdown

Summary

Backports Waveshare DSI TOUCH panel family support (mainline waveshare,8.0-dsi-touch-a and related compatibles) plus the companion GPIO controller driver used for panel/touch power and reset control on these boards.

Upstream references:

Both are merged in linux-next but not yet in Linus' tree, so all 9 commits are tagged FROMGIT: rather than UPSTREAM:.

Commits (in order)

  1. FROMGIT: drm/of: add helper to count data-lanes on a remote endpoint
  2. FROMGIT: dt-bindings: display/panel: jadard,jd9365da-h3: describe Waveshare panel
  3. FROMGIT: drm/panel: jadard-jd9365da-h3: use drm_connector_helper_get_modes_fixed
  4. FROMGIT: drm/panel: jadard-jd9365da-h3: support variable DSI configuration
  5. FROMGIT: drm/panel: jadard-jd9365da-h3: set prepare_prev_first
  6. FROMGIT: drm/panel: jadard-jd9365da-h3: support Waveshare round DSI panels
  7. FROMGIT: drm/panel: jadard-jd9365da-h3: support Waveshare WXGA DSI panels
  8. FROMGIT: dt-bindings: gpio: describe Waveshare GPIO controller
  9. FROMGIT: gpio: add GPIO controller found on Waveshare DSI TOUCH panels

Commits 1-6 are prerequisites pulled in because qcom-6.18.y's panel-jadard-jd9365da-h3.c predates several upstream refactors (mode pointer split, variable DSI lane support, etc.) that the target patches depend on.

Conflict resolution notes

Two of the prerequisite cherry-picks (#2 and #6) conflicted because upstream interleaves this series with unrelated panels (taiguanck,xti05101-01a, anbernic,rg-ds-*) that don't exist on qcom-6.18.y. Resolved by keeping only the Waveshare-relevant additions and dropping the unrelated panel descriptors/compatibles - verified no dangling references, balanced braces, and that waveshare,8.0-dsi-touch-a resolves correctly in the final driver.

Not done in this PR

  • No kernel build/compile verification was performed in this environment (no toolchain available).
  • No CR filed yet - CRs-Fixed: <CR#> to be added once available, per the QLI 2.0 CR workflow.

Test plan

  • Kernel build (arm64 defconfig + qcom.config fragments)
  • Boot test on a board with a Waveshare 8.0" DSI TOUCH panel attached
  • Verify panel + touch GPIO controller probe successfully
  • CR approval and CRs-Fixed: tag added before merge

If the DSI panel supports versatile lanes configuration, its driver
might require determining the number of DSI data lanes, which is usually
specified on the DSI host side of the OF graph. Add new helper as a
pair to drm_of_get_data_lanes_count_ep() that lets callers determine
number of data-lanes on the remote side of the OF graph.

Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patch.msgid.link/20260413-waveshare-dsi-touch-v3-6-3aeb53022c32@oss.qualcomm.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
(cherry picked from commit a8c56e0)
…eshare panel

Describe Waveshare DSI panels which use JD9365 as a panel controller.

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20260413-waveshare-dsi-touch-v3-3-3aeb53022c32@oss.qualcomm.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
(cherry picked from commit d13d930)
…modes_fixed

Use existing helper instead of manually coding it.

Reviewed-by: Linus Walleij <linusw@kernel.org>
Link: https://patch.msgid.link/20260413-waveshare-dsi-touch-v3-11-3aeb53022c32@oss.qualcomm.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
(cherry picked from commit 0a26b74)
…ation

Several panels support attachment either using 4 DSI lanes or just 2. In
some cases, this requires a different panel mode to fulfill clock
requirements. Extend the driver to handle such cases by letting the
panel description to omit lanes specification and parsing number of
lanes from the DT.

Reviewed-by: Linus Walleij <linusw@kernel.org>
Tested-by: Riccardo Mereu <r.mereu@arduino.cc>
Link: https://patch.msgid.link/20260413-waveshare-dsi-touch-v3-12-3aeb53022c32@oss.qualcomm.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
(cherry picked from commit eb01968)
Sending DSI commands from the prepare() callback requires DSI link to be
up at that point. For DSI hosts is guaranteed only if the panel driver
sets the .prepare_prev_first flag. Set it to let these panels work with
the DSI hosts which don't power on the link in their .mode_set callback.

Reviewed-by: Linus Walleij <linusw@kernel.org>
Tested-by: Riccardo Mereu <r.mereu@arduino.cc>
Link: https://patch.msgid.link/20260413-waveshare-dsi-touch-v3-13-3aeb53022c32@oss.qualcomm.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
(cherry picked from commit b55a4b5)
…anels

Add configuration for Waveshare 3.4" and 4.0" round DSI panels using
JD9365 controller.

Tested-by: Riccardo Mereu <r.mereu@arduino.cc>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260413-waveshare-dsi-touch-v3-14-3aeb53022c32@oss.qualcomm.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
(cherry picked from commit ba362fb)
…nels

Add configuration for several Waveshare 8.0" and 10.1" WXGA DSI panels
using JD9365 controller

Tested-by: Riccardo Mereu <r.mereu@arduino.cc>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260413-waveshare-dsi-touch-v3-15-3aeb53022c32@oss.qualcomm.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
(cherry picked from commit 5a7770a)
The Waveshare DSI TOUCH family of panels has separate on-board GPIO
controller, which controls power supplies to the panel and the touch
screen and provides reset pins for both the panel and the touchscreen.
Also it provides a simple PWM controller for panel backlight.

Add bindings for these GPIO controllers. As overall integration might be
not very obvious (and it differs significantly from the bindings used by
the original drivers), provide complete example with the on-board
regulators and the DSI panel.

Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://patch.msgid.link/20260507-waveshare-dsi-touch-v5-1-d2ac7ccc22d4@oss.qualcomm.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
(cherry picked from commit 8cd19f5)
The Waveshare DSI TOUCH family of panels has separate on-board GPIO
controller, which controls power supplies to the panel and the touch
screen and provides reset pins for both the panel and the touchscreen.
Also it provides a simple PWM controller for panel backlight. Add
support for this GPIO controller.

Tested-by: Riccardo Mereu <r.mereu@arduino.cc>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://patch.msgid.link/20260507-waveshare-dsi-touch-v5-2-d2ac7ccc22d4@oss.qualcomm.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
(cherry picked from commit 79f44c8)
@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.

3 similar comments
@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 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.

@qlijarvis

Copy link
Copy Markdown

PR #951 — validate-patch

PR: #951

Verdict Issues Detailed Report
⚠️ 0 Full report

Final Summary

  1. Lore link present: Yes - all 9 commits have Link: tags using patch.msgid.link (lore redirect service)
  2. Lore link matches PR commits: Cannot verify - lore mbox files not fetched due to incorrect link pattern matching
  3. Upstream patch status: Unknown - cannot verify without lore thread analysis; FROMGIT: prefix suggests patches are in a maintainer tree
  4. PR present in qcom-next/topics: Partial - 1/9 commit(s) only have partial integration evidence
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #951 - FROMGIT: drm/of, dt-bindings, drm/panel, gpio patches (9 commits)
Upstream commits: Multiple patch.msgid.link URLs (lore.kernel.org redirect service)
Verdict: ⚠️ PARTIAL

Summary

This PR contains 9 commits, all with FROMGIT: prefix, indicating they should be cherry-picks from a maintainer git tree. All commits include:

  • Link: tags pointing to patch.msgid.link (lore.kernel.org redirect service)
  • Cherry-pick notes with upstream commit SHAs
  • Consistent authorship (Dmitry Baryshkov)
  • Proper review tags (Reviewed-by/Acked-by)

Key Issues:

  1. Lore evidence not fetched: The lore_evidence/README.md incorrectly reports "no lore.kernel.org Link tags found" because it searched for literal "lore.kernel.org" strings, but the commits use patch.msgid.link (which is a valid lore redirect service). Without fetched lore mbox files, diff comparison cannot be performed.

  2. Partial integration (commit 3/9): The integration_presence_report.md shows commit 3/9 has only "partial" presence in both qcom-next and topics, meaning the full change was not verified in the integration branch.

Commit Message Analysis

Check Status Note
Subject matches upstream All subjects properly prefixed with FROMGIT:
Body preserves rationale Commit messages include clear descriptions
Fixes tag present/correct N/A No Fixes tags (not bug fixes)
Authorship preserved All commits authored by Dmitry Baryshkov (consistent with FROMGIT prefix)
Backport note present All commits include (cherry picked from commit <sha>)
Review tags present Reviewed-by/Acked-by tags present where applicable

Lore Links

All 9 commits include Link: tags using patch.msgid.link format:

Commit Link
1/9 https://patch.msgid.link/20260413-waveshare-dsi-touch-v3-6-3aeb53022c32@oss.qualcomm.com
2/9 https://patch.msgid.link/20260413-waveshare-dsi-touch-v3-3-3aeb53022c32@oss.qualcomm.com
3/9 https://patch.msgid.link/20260413-waveshare-dsi-touch-v3-11-3aeb53022c32@oss.qualcomm.com
4/9 https://patch.msgid.link/20260413-waveshare-dsi-touch-v3-12-3aeb53022c32@oss.qualcomm.com
5/9 https://patch.msgid.link/20260413-waveshare-dsi-touch-v3-13-3aeb53022c32@oss.qualcomm.com
6/9 https://patch.msgid.link/20260413-waveshare-dsi-touch-v3-14-3aeb53022c32@oss.qualcomm.com
7/9 https://patch.msgid.link/20260413-waveshare-dsi-touch-v3-15-3aeb53022c32@oss.qualcomm.com
8/9 https://patch.msgid.link/20260507-waveshare-dsi-touch-v5-1-d2ac7ccc22d4@oss.qualcomm.com
9/9 https://patch.msgid.link/20260507-waveshare-dsi-touch-v5-2-d2ac7ccc22d4@oss.qualcomm.com

Note: Commits 1-7 are from the same series (v3), while commits 8-9 are from a different series (v5).

Diff Comparison

File Status Notes
All files ⏭️ SKIPPED Cannot compare - lore mbox files not fetched due to incorrect link detection

Reason: The lore evidence fetcher searched for literal "lore.kernel.org" URLs but missed "patch.msgid.link" URLs (which are valid lore redirects). Without the upstream mbox files, diff-level validation cannot be performed.

Integration Presence (from integration_presence_report.md)

Commit qcom-next topics Final Status
1/9 ✅ present ⏭️ skipped ✅ present
2/9 ✅ present ⏭️ skipped ✅ present
3/9 ⚠️ partial ⚠️ partial ⚠️ PARTIAL
4/9 ⚠️ partial ✅ present ✅ present
5/9 ✅ present ⏭️ skipped ✅ present
6/9 ✅ present ⏭️ skipped ✅ present
7/9 ✅ present ⏭️ skipped ✅ present
8/9 ✅ present ⏭️ skipped ✅ present
9/9 ✅ present ⏭️ skipped ✅ present

Overall: 8/9 commits fully present, 1/9 commit (3/9) only partially verified.

Issues

  1. Commit 3/9 - Partial Integration: The integration presence check found only partial evidence for commit 3/9 (drm/panel: jadard-jd9365da-h3: use drm_connector_helper_get_modes_fixed) in both qcom-next and topics branches. This suggests the full change may not have landed in the integration branch, or the fingerprint matching was inconclusive.

  2. Lore Evidence Not Fetched: The upstream lore patches were not fetched because the evidence collector searched for literal "lore.kernel.org" URLs but the commits use "patch.msgid.link" (a valid lore.kernel.org redirect service). This prevents diff-level validation.

  3. Upstream Status Unknown: Without fetched lore threads, cannot verify whether these patches have been merged to mainline, are queued in a maintainer tree, or are still under review.

Verdict

⚠️ PARTIAL - The PR has proper commit message structure, authorship, and cherry-pick notes, but:

  • Commit 3/9 shows only partial integration presence (validation concern)
  • Lore evidence was not fetched, preventing diff comparison and upstream status verification
  • The FROMGIT: prefix implies these should be in a maintainer tree, but without lore thread analysis, cannot confirm acceptance status

Recommendation

  1. Investigate commit 3/9: Manually verify why the integration presence check found only partial evidence. Check if the full change is present in qcom-next or if there's a mismatch.

  2. Re-fetch lore evidence: Update the lore evidence fetcher to recognize patch.msgid.link URLs as valid lore links, then re-run validation with proper diff comparison.

  3. Verify upstream status: Manually check the lore threads to confirm these patches have been accepted into a maintainer tree (as FROMGIT: implies) or if they should use FROMLIST: prefix instead.

  4. Consider holding commit 3/9: Until the partial integration status is resolved, consider reviewing this commit separately or requesting clarification from the submitter.

Final Summary

  1. Lore link present: Yes - all 9 commits have Link: tags using patch.msgid.link (lore redirect service)
  2. Lore link matches PR commits: Cannot verify - lore mbox files not fetched due to incorrect link pattern matching
  3. Upstream patch status: Unknown - cannot verify without lore thread analysis; FROMGIT: prefix suggests patches are in a maintainer tree
  4. PR present in qcom-next/topics: Partial - 8/9 commits fully present, 1/9 commit (3/9) shows only partial integration evidence

Deterministic Integration Presence

Integration Presence Report

This report is generated by Jarvis before validate-patch runs.
It is the authoritative source for whether PR changes are already present
in qcom-next or in the kernel topic branches.

Kernel repo: /local/mnt/workspace/sgaud/Qgenie/image_pipeline/kernel
qcom-next ref: 49dbe0dae5cfb7a1eb3434cde6fc7ba37924fe94
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/9 [PATCH 1/9] FROMGIT: drm/of: add helper to count data-lanes on a present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
2/9 [PATCH 2/9] FROMGIT: dt-bindings: display/panel: jadard,jd9365da-h3: present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
3/9 [PATCH 3/9] FROMGIT: drm/panel: jadard-jd9365da-h3: use partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
4/9 [PATCH 4/9] FROMGIT: drm/panel: jadard-jd9365da-h3: support variable partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
5/9 [PATCH 5/9] FROMGIT: drm/panel: jadard-jd9365da-h3: set present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
6/9 [PATCH 6/9] FROMGIT: drm/panel: jadard-jd9365da-h3: support Waveshare present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
7/9 [PATCH 7/9] FROMGIT: drm/panel: jadard-jd9365da-h3: support Waveshare present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
8/9 [PATCH 8/9] FROMGIT: dt-bindings: gpio: describe Waveshare GPIO present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
9/9 [PATCH 9/9] FROMGIT: gpio: add GPIO controller found on Waveshare DSI present - all checked added lines are present skipped - not checked because qcom-next already contains the change present

Final Status

overall_status: PARTIAL
present_commits: 8/9
partial_commits: 1/9
missing_commits: 0/9
topics_checked_for_commits: 2/9
final_summary: PR present in qcom-next/topics: Partial - 1/9 commit(s) only have partial integration evidence

@qlijarvis

Copy link
Copy Markdown

PR #951 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 2 commits with style warnings
dt-binding-check All binding checks passed
dtb-check ⏭️ Skipped (no DTS changes)
sparse-check No sparse warnings
check-uapi-headers No UAPI changes
check-patch-compliance 2 commits with content mismatch
tag-check All commits have valid FROMGIT: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #951 - FROMGIT: drm/panel and gpio: Waveshare DSI TOUCH panel support
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/31699730793

Checker Result Summary
checkpatch 2 commits with style warnings
dt-binding-check All binding checks passed
dtb-check ⏭️ Skipped (no DTS changes)
sparse-check No sparse warnings
check-uapi-headers No UAPI changes
check-patch-compliance 2 commits with content mismatch
tag-check All commits have valid FROMGIT: prefix

❌ checkpatch

Root cause: Two commits contain checkpatch warnings that should be reviewed.

Failure details:

Commit fc37452 ("FROMGIT: drm/panel: jadard-jd9365da-h3: support Waveshare round DSI panels"):

WARNING: msleep < 20ms can sleep for up to 20ms; see function description of msleep().
#230: FILE: drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c:1312:
+	msleep(5);

WARNING: msleep < 20ms can sleep for up to 20ms; see function description of msleep().
#464: FILE: drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c:1546:
+	msleep(5);

total: 0 errors, 2 warnings, 0 checks

Commit 528d8bd ("FROMGIT: gpio: add GPIO controller found on Waveshare DSI TOUCH panels"):

WARNING: please write a help paragraph that fully describes the config symbol with at least 4 lines
#34: FILE: drivers/gpio/Kconfig:808:
+config GPIO_WAVESHARE_DSI_TOUCH

CHECK: struct mutex definition without comment
#99: FILE: drivers/gpio/gpio-waveshare-dsi.c:35:
+	struct mutex dir_lock;

CHECK: struct mutex definition without comment
#100: FILE: drivers/gpio/gpio-waveshare-dsi.c:36:
+	struct mutex pwr_lock;

total: 0 errors, 1 warnings, 2 checks

Fix:

These are FROMGIT: commits (already merged upstream), so the warnings reflect the upstream state. For FROMGIT: commits, checkpatch warnings are informational only and do not require fixes in the downstream tree, as the code is taken as-is from upstream.

Action: No fix required. These warnings exist in the upstream commits and should not be modified when backporting.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git bfeb0e5567c0..528d8bd09eaf

❌ check-patch-compliance

Root cause: Two commits show content differences from their upstream Link references.

Failure details:

Commit a522b4a ("FROMGIT: drm/panel: jadard-jd9365da-h3: support variable DSI configuration"):

Checking commit: FROMGIT: drm/panel: jadard-jd9365da-h3: support variable DSI configuration
Change is different from the one mentioned in Link
Link: https://patch.msgid.link/20260413-waveshare-dsi-touch-v3-11-3aeb53022c32@oss.qualcomm.com

Commit 2f8a070 ("FROMGIT: drm/panel: jadard-jd9365da-h3: support Waveshare WXGA DSI panels"):

Checking commit: FROMGIT: drm/panel: jadard-jd9365da-h3: support Waveshare WXGA DSI panels
Change is different from the one mentioned in Link
Link: https://patch.msgid.link/20260413-waveshare-dsi-touch-v3-14-3aeb53022c32@oss.qualcomm.com

Fix:

The checker detected content differences between the PR commits and their upstream Link references. This can occur due to:

  1. Context-only differences — surrounding code differs but the actual changes are identical (common when backporting to an older tree)
  2. Legitimate adaptations — necessary modifications for the target kernel version
  3. Incorrect Link reference — the Link points to a different version of the patch series

Recommended action:

  1. Verify the content differences manually:

    # For commit a522b4a74f5f:
    b4 am --single-message -C -l -3 https://patch.msgid.link/20260413-waveshare-dsi-touch-v3-11-3aeb53022c32@oss.qualcomm.com -o /tmp/out
    git format-patch -1 a522b4a74f5f --stdout > /tmp/pr-commit.patch
    # Compare the actual code changes (ignore context lines)
    
    # For commit 2f8a0708b075:
    b4 am --single-message -C -l -3 https://patch.msgid.link/20260413-waveshare-dsi-touch-v3-14-3aeb53022c32@oss.qualcomm.com -o /tmp/out2
    git format-patch -1 2f8a0708b075 --stdout > /tmp/pr-commit2.patch
  2. If differences are context-only (surrounding code differs but changes are identical), this is acceptable for backports.

  3. If there are actual code differences, either:

    • Update the commit message to document the adaptation
    • Or update the Link to point to the correct upstream version

Reproduce locally:

cd kernel && ../kernel-checkers/check-patch-compliance.sh \
  --base bfeb0e5567c0 --head 528d8bd09eaf \
  --kernel-src $(pwd)

Verdict

2 non-blocking issues to review:

  1. checkpatch warnings — Informational only for FROMGIT: commits; no action required
  2. check-patch-compliance content mismatch — Verify whether differences are context-only (acceptable) or require Link/commit message updates

The PR is ready to merge if the content differences in commits a522b4a and 2f8a070 are confirmed to be context-only adaptations for the target kernel version. If actual code differences exist, update commit messages to document the adaptations or correct the Link references.

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