Re: [PATCH 1/6] add symbol value to help find the real depend

Mikael Pettersson
2009-07-12T10:25:28Z

Cheng Renquan writes:
> From: Cheng Renquan <crquan@gmail.com>
>
> kbuild-menuconfig-display-depend-value.patch
>
> Sometimes when configuring need to disable some unused item, but the item is
> selected by many other items, it's hard to find the real dependency which
> selected it, This patch add every symbol's value accompanied to make it
> possible to find the real dependency easily.
>
> An example is CONFIG_RFKILL,
>
> ---------------------- RF switch subsystem support ----------------------
> | CONFIG_RFKILL: |
> | |
> | Say Y here if you want to have control over RF switches |
> | found on many WiFi and Bluetooth cards. |
> | |
> | To compile this driver as a module, choose M here: the |
> | module will be called rfkill. |
> | |
> | Symbol: RFKILL [=m] |
> | Prompt: RF switch subsystem support |
> | Defined at net/rfkill/Kconfig:4 |
> | Depends on: NET [=y] |
> | Location: |
> | -> Networking support (NET [=y]) |
> | Selected by: IWLCORE [=n] && NETDEVICES [=y] && !S390 [=S390] && PC |
> | |
> ----------------------------------------------------------------( 99%)---

I like this concept, but I'd like to see it supported with make oldconfig.
Let's say I copy a .config from kernel X into kernel Y (Y>X) and make oldconfig.
Sometimes the new kernel will enable some previously disabled option, and
it would be very useful to see WHY.

To take a concrete example, in my 2.6.30 .config I had:

CONFIG_DRM=m
CONFIG_DRM_RADEON=m
# CONFIG_FB is not set

which when oldconfig'd in 2.6.31-rc changed to

CONFIG_DRM=m
CONFIG_DRM_RADEON=m
CONFIG_FB=m
(+ some more FB stuff)

In this case it would have been nice to get an explanation that DRM_RADEON
was responsible for (wrongly, IMO) selecting FB. Something like

# CONFIG_FB was selected by CONFIG_DRM_RADEON
CONFIG_FB=m

These comments should only be emitted for options added by select that
previously were absent or 'is not set'.

/Mikael