When you set an option to `=y` but one of its dependencies is set to `=m`, then `make oldconfig` will reset it back to `=m` as well.
That makes sense, but does there exist a feature somewhere that can tell me explicitly when this happens, ideally with a reason like:
Resetting CONFIG_USB_STORAGE from =y to =m
because its dependency CONFIG_... is set to =m
Consequently also resetting the following dependent options from =y to =m:
CONFIG_USB_STORAGE_REALTEK
CONFIG_USB_...
This would help tuning kernel configs in situations where menuconfig is not appropriate, for example when working with diffs of configs.
Is there such tooling, or what do people use?
Thanks,
Niklas
On 4/21/19 8:11 AM, Niklas Hambüchen wrote:
> When you set an option to `=y` but one of its dependencies is set to `=m`, then `make oldconfig` will reset it back to `=m` as well.
>
> That makes sense, but does there exist a feature somewhere that can tell me explicitly when this happens, ideally with a reason like:
>
> Resetting CONFIG_USB_STORAGE from =y to =m
> because its dependency CONFIG_... is set to =m
> Consequently also resetting the following dependent options from =y to =m:
> CONFIG_USB_STORAGE_REALTEK
> CONFIG_USB_...
>
> This would help tuning kernel configs in situations where menuconfig is not appropriate, for example when working with diffs of configs.
>
> Is there such tooling, or what do people use?
When using 'make menuconfig', enter /usb_storage and it says:
│ Symbol: USB_STORAGE [=m] │
│ Type : tristate │
│ Prompt: USB Mass Storage support │
│ Location: │
│ -> Device Drivers │
│ (1) -> USB support (USB_SUPPORT [=y]) │
│ Defined at drivers/usb/storage/Kconfig:9 │
│ Depends on: USB_SUPPORT [=y] && USB [=m] && SCSI [=m]
so it is limited to m (or n) by USB and SCSI.
Or you can just find the symbol of interest and use Help to get the same info.
The same can be done with 'make nconfig'.
With 'make xconfig', if you click on "USB Mass Storage support" (e.g.), it shows
the same info. Or you can use Ctrl+F (or Edit/Find), enter a symbol (or
a partial symbol name), like USB_STORAGE, which gives you a list of symbols.
Click on one of them and it will give you the same info.
HTH. There is nothing quite as explicit as your example output.
--
~Randy
On 2019-04-21 17:55, Randy Dunlap wrote:
> When using 'make menuconfig', enter /usb_storage and it says:
> ...
> │ Depends on: USB_SUPPORT [=y] && USB [=m] && SCSI [=m]
>
> HTH. There is nothing quite as explicit as your example output.
Hmm OK.
The menuconfig approach is what I've used so far manually, but it does not work so well for batch / CI use.
Thanks nevertheless for the detail explanation!