Difference between menuconfig and kernel_menuconfig

Recently, I wanted to add i2c I/O expander to my build.

In menuconfig, there's --- CONFIG_PACKAGE_kmod-gpio-pca953x
In kernel_menuconfig, there's --- CONFIG_GPIO_PCA953X

Here I faced an issue. Which one should be selected ?
If it works with just kmod package then why is there a config in kernel_menuconfig?
Does menuconfig overwrite kernel_menuconfig?

kernel_menuconfig gives you access to the full kconfig of the kernel, kind of bypassing the normal OpenWrt kconfig (meaning only y and n make sense there, while m gets built, it won't end up anywhere). If you don't need your module to be included statically into vmlinuz (as in necessary for booting), it's usually better to use the normal OpenWrt kconfig, instead of kernel_menuconfig, that way the normal packaging gets created with its dependency information.

3 Likes

Hi @slh
I'm working on support for TP-Link EAP11x access point platform. At the momoent struggling with poroper ag71xx driver initialization while SoC register aren't properly reset by u-boot.
For furtherr troubleshoting I need this driver as a module to modprobe it manualy afterr register manual clear/set to find out proper values. Makeing new build every time singlke bit is modified in my quick ad dirty patch is inefficient.
How I configure build to have this driver as loadable module?