menuconfig RTL_CARDS
	tristate "Realtek rtlwifi family of devices"
	depends on MAC80211 && (PCI || USB)
	default y
	---help---
	  This option will enable support for the Realtek mac80211-based
	  wireless drivers. Drivers rtl8192ce, rtl8192cu, rtl8192se, rtl8192de,
	  rtl8723ae, rtl8723be, and rtl8188ae share some common code.

if RTL_CARDS

config RTL8192CE
	tristate "Realtek RTL8192CE/RTL8188CE Wireless Network Adapter"
	depends on PCI
	select RTL8192C_COMMON
	select RTLWIFI
	select RTLWIFI_PCI
	---help---
	This is the driver for Realtek RTL8192CE/RTL8188CE 802.11n PCIe
	wireless network adapters.

	If you choose to build it as a module, it will be called rtl8192ce

config RTL8192SE
	tristate "Realtek RTL8192SE/RTL8191SE PCIe Wireless Network Adapter"
	depends on PCI
	select RTLWIFI
	select RTLWIFI_PCI
	---help---
	This is the driver for Realtek RTL8192SE/RTL8191SE 802.11n PCIe
	wireless network adapters.

	If you choose to build it as a module, it will be called rtl8192se

config RTL8192DE
	tristate "Realtek RTL8192DE/RTL8188DE PCIe Wireless Network Adapter"
	depends on PCI
	select RTLWIFI
	select RTLWIFI_PCI
	---help---
	This is the driver for Realtek RTL8192DE/RTL8188DE 802.11n PCIe
	wireless network adapters.

	If you choose to build it as a module, it will be called rtl8192de

config RTL8723AE
	tristate "Realtek RTL8723AE PCIe Wireless Network Adapter"
	depends on PCI
	select RTLWIFI
	select RTLWIFI_PCI
	select RTL8723_COMMON
	select RTLBTCOEXIST
	---help---
	This is the driver for Realtek RTL8723AE 802.11n PCIe
	wireless network adapters.

	If you choose to build it as a module, it will be called rtl8723ae

config RTL8723BE
	tristate "Realtek RTL8723BE PCIe Wireless Network Adapter"
	depends on PCI
	select RTLWIFI
	select RTLWIFI_PCI
	select RTL8723_COMMON
	select RTLBTCOEXIST
	---help---
	This is the driver for Realtek RTL8723BE 802.11n PCIe
	wireless network adapters.

	If you choose to build it as a module, it will be called rtl8723be

config RTL8188EE
	tristate "Realtek RTL8188EE Wireless Network Adapter"
	depends on PCI
	select RTLWIFI
	select RTLWIFI_PCI
	---help---
	This is the driver for Realtek RTL8188EE 802.11n PCIe
	wireless network adapters.

	If you choose to build it as a module, it will be called rtl8188ee

config RTL8192CU
	tristate "Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter"
	depends on USB
	select RTLWIFI
	select RTLWIFI_USB
	select RTL8192C_COMMON
	---help---
	This is the driver for Realtek RTL8192CU/RTL8188CU 802.11n USB
	wireless network adapters.

	If you choose to build it as a module, it will be called rtl8192cu

config RTLWIFI
	tristate
	select FW_LOADER

config RTLWIFI_PCI
	tristate

config RTLWIFI_USB
	tristate

config RTLWIFI_DEBUG
	bool "Debugging output for rtlwifi driver family"
	depends on RTLWIFI
	default y
	---help---
	To use the module option that sets the dynamic-debugging level for,
	the front-end driver, this parameter must be "Y". For memory-limited
	systems, choose "N". If in doubt, choose "Y".

config RTL8192C_COMMON
	tristate
	depends on RTL8192CE || RTL8192CU
	default y

config RTL8723_COMMON
	tristate
	depends on RTL8723AE || RTL8723BE
	default y

config RTLBTCOEXIST
	tristate
	depends on RTL8723AE || RTL8723BE
	default y

endif
