zephyr-cp: don't require a label on gpio-keys nodes - #62
Closed
mikeysklar wants to merge 15 commits into
Closed
Conversation
… `synthio.Synthesizer`
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: CircuitPython/main Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
check_suite["workflowRun"] is null for check suites that are not attached to a
workflow run, for example one that was deleted or one belonging to an app
integration. get_commit_depth_and_check_suite() dereferenced it
unconditionally:
TypeError: 'NoneType' object is not subscriptable
which fails the scheduler job's Get-last-commit-with-checks step. Skip those
entries rather than indexing into them.
…wrun tools: skip check suites with no workflowRun in ci_changes_per_commit.py
…main Translations update from Hosted Weblate
Prevent click noise on `audiomixer.Mixer` and `synthio.Synthesizer` during volume updates
zephyr_dts_to_cp_board() dereferenced props["label"] unconditionally for gpio-keys, but label is optional and deprecated there; modern boards identify keys with zephyr,code instead. Any such board fails board generation with KeyError: 'label'. Guard it the same way the gpio-leds handler in the same function already does. Hit on a Silicon Labs SiWx917-DK2605A (BRD2605A), whose gpio-keys nodes come from Zephyr's own board .dts with no label.
mikeysklar
force-pushed
the
fix/zephyr-gpio-keys-optional-label
branch
from
August 18, 2026 20:00
e41466a to
8e640dc
Compare
Owner
Author
|
Superseded by adafruit#11210, which targets |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
zephyr_dts_to_cp_board()dereferencedprops["label"]unconditionally forgpio-keys.labelis optional and deprecated there, so any board without one fails board generation withKeyError: 'label'.Why
The
gpio-ledshandler in the same function already guards this withif "label" in props:. This applies the same guard togpio-keys, so it is an existing pattern rather than a new one.Hardware tested
Hit on a Silicon Labs SiWx917-DK2605A (BRD2605A), whose
gpio-keysnodes come from Zephyr's own board.dtswith no label. Board generation fails without this; it succeeds with it.Not tested: other zephyr-cp boards. The change only removes an unconditional dereference, so boards that do have a label behave exactly as before.
Scope
One guard, one file. No behavior change for boards that set a label.
AI assistance
Written with Claude Code. I ran the build and confirmed the failure and the fix on hardware.