# SPDX-License-Identifier: GPL-2.0
config RTLLIB
	tristate "Support for rtllib wireless devices"
	depends on WLAN && m
	select LIB80211
	select CRC32
	help
	  If you have a wireless card that uses rtllib, say
	  Y. Currently the only card is the rtl8192e.

	  If unsure, say N.

if RTLLIB

config RTLLIB_CRYPTO_CCMP
	tristate "Support for rtllib CCMP crypto"
	depends on RTLLIB
	select CRYPTO
	select CRYPTO_AES
	select CRYPTO_CCM
	default y
	help
	  CCMP crypto driver for rtllib.

	  If you enabled RTLLIB, you want this.

config RTLLIB_CRYPTO_TKIP
	tristate "Support for rtllib TKIP crypto"
	depends on RTLLIB
	select CRYPTO
	select CRYPTO_LIB_ARC4
	select CRYPTO_MICHAEL_MIC
	default y
	help
	  TKIP crypto driver for rtllib.

	  If you enabled RTLLIB, you want this.

config RTLLIB_CRYPTO_WEP
	tristate "Support for rtllib WEP crypto"
	select CRYPTO_LIB_ARC4
	depends on RTLLIB
	default y
	help
	  TKIP crypto driver for rtllib.

	  If you enabled RTLLIB, you want this.

source "drivers/staging/rtl8192e/rtl8192e/Kconfig"

endif
