Skip to content
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

[Tracking]: modeling dependencies in Kconfig #16875

Closed
fjmolinas opened this issue Sep 22, 2021 · 11 comments
Closed

[Tracking]: modeling dependencies in Kconfig #16875

fjmolinas opened this issue Sep 22, 2021 · 11 comments
Assignees
Labels
Area: Kconfig Area: Kconfig integration Community: help wanted The contributors require help from other members of the community TF: Config Marks issues and PRs related to the work of the Configuration Task Force Type: tracking The issue tracks and organizes the sub-tasks of a larger effort

Comments

@fjmolinas
Copy link
Contributor

fjmolinas commented Sep 22, 2021

Description

These issues want to keep track of MODULES/PKG/CPU/BOARDs that are not modeled in Kconfig. Things already modeled at the time of this issue are not included.

Help is very welcomed, if you are already tackling something don't hesitate to list your name or an opened PR next to the item list. Initial work in branches is also welcome, someone else can take over later, so don't hesitate to reference either.

no exhaustive-list please extend:

@leandrolanzieri leandrolanzieri added Area: Kconfig Area: Kconfig integration TF: Config Marks issues and PRs related to the work of the Configuration Task Force labels Sep 22, 2021
@fjmolinas fjmolinas added the Community: help wanted The contributors require help from other members of the community label Sep 22, 2021
@leandrolanzieri leandrolanzieri added the Type: tracking The issue tracks and organizes the sub-tasks of a larger effort label Sep 22, 2021
@fjmolinas
Copy link
Contributor Author

Note AFAIK in sys most modules that are pending for modeling are related to networkin. Same goes for pkg and drivers

@fjmolinas
Copy link
Contributor Author

@maribu any change you could take a look at avr? Do you seem to be doing a lot of work there?

@fjmolinas
Copy link
Contributor Author

fjmolinas commented Sep 22, 2021

Since there is some discussion of eventually dropping MIPS it should be low priority.. (probably the same for MSP430)

@MrKevinWeiss
Copy link
Contributor

Just to note that we would like to get all the cpus in for this release, this would allow us to stop testing select apps twice and use pure kconfig for dep resolution.

@MrKevinWeiss
Copy link
Contributor

Just so it is written down somewhere. The configs we are using to set things for the STDIO_USB_ACM_CDC stuff I think will fail on apps that don't use stdio. They get hardcoded in by the .config file but they really should only be brought in if there is a MODULE_STDIO.

We will eventually have to address this (though maybe not now).

@Enoch247
Copy link
Contributor

I wanted to make an offer to help out with kconfig. I'm pretty confident with Makefiles and kconfig's syntax. Any place in particular I should start?

@MrKevinWeiss
Copy link
Contributor

Heck ya @Enoch247, if you didn't read the kconfig docs I would start with that.

Currently I am working on getting all boards (that are not deprecated) to run on some applications. There are still some boards that will not work on the approved applications list, but there are already PRs out there to fix it.

The next step would be to add more applications to the TEST_KCONFIG_TEST_ALLOWLIST, this will expose more modelling corner cases. Note that adding more applications will also increase the CI time so we didn't want to overdo it. Once we are confident that the modelling is correct with kconfig we can only build test with kconfig and skip the make dependency resolution, reducing the CI time.

Though I have been talking about it for a while, I also intend on documenting some design patterns that we want to use in kconfig, specifically targeting drivers that can be selected by "default" based modules such as SAUL_DEFAULT or TOUCH_DEV. There will be some work getting everything to the same standard once that comes in.

The final thing that is missing will be modelling the network dependencies, which will be pretty challenging as you need to understand the network stacks as well as kconfig. I image we will start working on that pretty soon. I know we all want to complete this migration, and it seems like things are picking up.

@leandrolanzieri @fjmolinas and I will be happy to answer any questions and provide help. The best thing you can do is document the questions and answers in a concise and add it to the docs. I know I have asked the same things from @leandrolanzieri several times already.

@Enoch247
Copy link
Contributor

Enoch247 commented Feb 4, 2022

I finally had a chance to poke around on this. As a simple test, I tried make -C examples/saul menuconfig then played around with the shell's config symbols, then make all term. Everything worked as expected, so I don't really have any questions so far. I'm struggling to find any concrete task to sink my teeth into here. I noticed riotboot is on the checklist above and is an area I was tinkering with earlier today, so I could work on adding the appropriate Kconfig files for that if nothing else, unless you have something else you would prefer I start with.

When I do have questions, I figured I'd document them and the answers in a gist or something, then we can figure out how to put them into something more formal once I get a bit further into it. Unless you had something else in-mind.

@MrKevinWeiss
Copy link
Contributor

I figured I'd document them and the answers in a gist or something

Perfect.

I have started a design patterns PR, we can probably add some things in there.

I haven't looked into riotboot, but keep in mind the networking is not yet modelled which may be a requirement for at least some of riotboot.

Other than that, good luck!

@aabadie
Copy link
Contributor

aabadie commented May 20, 2023

I edited the issue with new items and marked the ones that are in progress or already done.

@benpicco
Copy link
Contributor

benpicco commented Jan 4, 2024

As per the last VMA we decided to drop Kconfig, so this issue can now be closed.

@benpicco benpicco closed this as completed Jan 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Kconfig Area: Kconfig integration Community: help wanted The contributors require help from other members of the community TF: Config Marks issues and PRs related to the work of the Configuration Task Force Type: tracking The issue tracks and organizes the sub-tasks of a larger effort
Projects
None yet
Development

No branches or pull requests

7 participants