menuconfig RTL_CARDS
	tristate "Realtek rtlwifi family of devices"
	depends on m
	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, rtl8188ee, rtl8192ee, and rtl8821ae share
	  some common code.

if RTL_CARDS

config RTL8192CE
	tristate "Realtek RTL8192CE/RTL8188CE Wireless Network Adapter"
	depends on m
	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 m
	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 m
	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 m
	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 m
	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 m
	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 RTL8192EE
	tristate "Realtek RTL8192EE Wireless Network Adapter"
	depends on m
	depends on PCI
	select RTLWIFI
	select RTLWIFI_PCI
	select RTLBTCOEXIST
	---help---
	This is the driver for Realtek RTL8192EE 802.11n PCIe
	wireless network adapters.

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

config RTL8821AE
	tristate "Realtek RTL8821AE/RTL8812AE Wireless Network Adapter"
	depends on m
	depends on PCI
	select RTLWIFI
	select RTLWIFI_PCI
	select RTLBTCOEXIST
	---help---
	This is the driver for Realtek RTL8821AE/RTL8812AE 802.11ac PCIe
	wireless network adapters.

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

config RTL8192CU
	tristate "Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter"
	depends on m
	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
	depends on m
	depends on FW_LOADER

config RTLWIFI_PCI
	tristate
	depends on m

config RTLWIFI_USB
	tristate
	depends on m

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 m
	depends on RTL8192CE || RTL8192CU
	default y

config RTL8723_COMMON
	tristate
	depends on m
	depends on RTL8723AE || RTL8723BE
	default y

config RTLBTCOEXIST
	tristate
	depends on m
	depends on RTL8723AE || RTL8723BE || RTL8821AE || RTL8192EE
	default y

endif
