#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#

mainmenu_option next_comment
comment 'Module Utilities'


bool 'insmod'	    CONFIG_INSMOD
bool 'lsmod'	    CONFIG_LSMOD
bool 'modprobe'	    CONFIG_MODPROBE
bool 'rmmod'	    CONFIG_RMMOD

if [ "$CONFIG_INSMOD" = "y" ]; then
    comment 'Module support options'
    bool 'Support for new (post 2.1) kernels'			CONFIG_FEATURE_NEW_MODULE_INTERFACE
    bool 'Support for older (pre 2.1) Linux kernels'		CONFIG_FEATURE_OLD_MODULE_INTERFACE
    bool 'Support module version checking'			CONFIG_FEATURE_INSMOD_VERSION_CHECKING
    bool 'Support image in kernel memory optimization (uClinux only)'		CONFIG_FEATURE_INSMOD_LOADINKMEM
fi

if [ "$CONFIG_LSMOD" = "y" ]; then
	if [ "$CONFIG_FEATURE_NEW_MODULE_INTERFACE" = "y" ]; then
		bool 'Support lsmod query_module interface (add 638 bytes)'     CONFIG_FEATURE_QUERY_MODULE_INTERFACE
	fi
fi

endmenu

