-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix kconfig mismatch breaking nightlies #18805
Conversation
Still running local tests... So far so good. |
If we really want to be efficient I can add in another commit for the other broken nightly: diff --git a/pkg/tinyusb/Kconfig b/pkg/tinyusb/Kconfig
index c1224f5b59..7836aab807 100644
--- a/pkg/tinyusb/Kconfig
+++ b/pkg/tinyusb/Kconfig
@@ -32,6 +32,7 @@ menuconfig PACKAGE_TINYUSB
select MODULE_TINYUSB_PORTABLE_SYNOPSYS_DWC2 if CPU_STM32 && CPU_FAM_L4
select MODULE_TINYUSB_PORTABLE_STM32_FSDEV if CPU_STM32 && CPU_FAM_F0
select MODULE_TINYUSB_PORTABLE_STM32_FSDEV if CPU_STM32 && CPU_FAM_F1
+ select MODULE_TINYUSB_PORTABLE_STM32_FSDEV if CPU_STM32 && CPU_FAM_F3
select MODULE_TINYUSB_PORTABLE_STM32_FSDEV if CPU_STM32 && CPU_FAM_G4
select MODULE_TINYUSB_PORTABLE_STM32_FSDEV if CPU_STM32 && CPU_FAM_L0
select MODULE_TINYUSB_PORTABLE_STM32_FSDEV if CPU_STM32 && CPU_FAM_WB |
Anyone opposed? |
Murdock results✔️ PASSED 6b5c75c boards/blxxpill-128kib: Fix kconfig mismatch
ArtifactsThis only reflects a subset of all builds from https://ci-prod.riot-os.org. Please refer to https://ci.riot-os.org for a complete build for now. |
Go ahead, just adapt the PR title and description |
boards/blackpill-128kib/Kconfig
Outdated
# make will select timer backend, probably due to the USBUS | ||
# and kconfig cannot select if something is already selected like make | ||
choice CHOICE_ZTIMER_MSEC_BACKEND | ||
default ZTIMER_MSEC_BACKEND_TIMER if MODULE_STDIO_UART_RX |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is due to USBUS why does it depend on uart rx?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
USBUS_STDIO eventually selects this due to STDIN. I didn't dig down as this is a hack. I just noticed that without this conditional examples/hello-world
fails. That somewhat clued me in that is is to do with the STDIN stuff.
I am hoping that this will eventually get cleaned up nicely making the hack obsolete. Maybe something @jue89 would be interested in taking on 😃
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nevermind it makes it fail again...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, I was talking about STDIN and used something completely different. Local tests indicate this is fixed!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I'm far away from obtaining the black belt in Kconfig modeling :D
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I'm far away from obtaining the black belt in Kconfig modeling :D
In case you're interested ;) besides the ultimate word in this https://www.kernel.org/doc/html/latest/kbuild/kconfig-language.html I found useful https://docs.zephyrproject.org/latest/build/kconfig/tips.html
Many of the recommendations were taken early on in the design, many others had to be gradually discarded (e.g., select
). Still it's a good read to understand the trade-offs that one makes when using one approach instead of the other.
maybe @gschorcht can comment to indicate the correct behaviour for the nucleo-f303ze, should it be like |
Good bot! |
oh god, not good. |
Ahh cool, if we have |
pkg/tinyusb/Kconfig
Outdated
@@ -32,6 +32,7 @@ menuconfig PACKAGE_TINYUSB | |||
select MODULE_TINYUSB_PORTABLE_SYNOPSYS_DWC2 if CPU_STM32 && CPU_FAM_L4 | |||
select MODULE_TINYUSB_PORTABLE_STM32_FSDEV if CPU_STM32 && CPU_FAM_F0 | |||
select MODULE_TINYUSB_PORTABLE_STM32_FSDEV if CPU_STM32 && CPU_FAM_F1 | |||
select MODULE_TINYUSB_PORTABLE_STM32_FSDEV if CPU_STM32 && CPU_FAM_F3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, I'm wondering why this wasn't catched by Murdock. Anyway, this selection is buggy and needs to be fixed, which is done by PR #18787.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, I will drop it then!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can leave it for now, I don't know how long it will take to get PR #18787 merged.
Makefiles are correct, |
|
ba9649b
to
4057806
Compare
Kconfig tests in the PR only test a subset of boards on all apps. #18803 may be of interest to you to locally test the full CPU. |
Nightlies are failing due to kconfig mismatch. It would seem this is a result of bringing in the USB stuff. I assume that this uses ztimer periph_timer as a backend as periph_timer is already selected. However, kconfig only resolves one and not recursively making it hard to match. For not a hack is added to override for these boards.
4057806
to
81bb2a8
Compare
This seems to fix it only the nucleo is failing for an out of scope reason. Should I drop the REMOVEME? ...man I am pretty bad an managing multiple PRs at once... |
81bb2a8
to
6b5c75c
Compare
Thanks! |
Contribution description
Nightlies are failing due to kconfig mismatch.
It would seem this is a result of bringing in the USB stuff. I assume that this uses ztimer periph_timer as a backend as periph_timer is already selected. However, kconfig only resolves one and not recursively making it hard to match. For not a hack is added to override for these boards.
Testing procedure
Fixed in murdock with NIGHTLY=1
Issues/PRs references