kconfig_why_not
Explains why a Kconfig symbol cannot reach a given value by tracing unmet depends on, visible if, choice, and select conditions with file:line locations, then returns a verified minimal fix.
Instructions
Explain why a symbol isn't (or can't be) at value, and how to fix it.
Walks every unmet depends on, visible if, if block, choice and
select/default condition with file:line, recursing into the symbols they
name. Then searches for a minimal set of assignments and VERIFIES it by
applying it to the tree - a fix is only shown if Kconfig agrees it works,
along with its side effects. value: "y", "m", or "n" (why can't I turn it off?).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"name": "<name>",
"symbol": "<symbol>"
},
"name": "kconfig_why_not"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| value | No | y | |
| symbol | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |