menuconfig IEEE802154_DRIVERS
	tristate "IEEE 802.15.4 drivers"
	depends on m
	depends on NETDEVICES && IEEE802154
	default y
	---help---
	  Say Y here to get to see options for IEEE 802.15.4 Low-Rate
	  Wireless Personal Area Network device drivers. This option alone
	  does not add any kernel code.

	  If you say N, all options in this submenu will be skipped and
	  disabled.

config IEEE802154_FAKELB
	depends on IEEE802154_DRIVERS && MAC802154
	tristate "IEEE 802.15.4 loopback driver"
	depends on m
	---help---
	  Say Y here to enable the fake driver that can emulate a net
	  of several interconnected radio devices.

	  This driver can also be built as a module. To do so say M here.
	  The module will be called 'fakelb'.

config IEEE802154_AT86RF230
	depends on !KERNEL_3_4
	depends on IEEE802154_DRIVERS && MAC802154
	tristate "AT86RF230/231/233/212 transceiver driver"
	depends on m
	depends on SPI
	depends on REGMAP_SPI
	---help---
	  Say Y here to enable the at86rf230/231/233/212 SPI 802.15.4 wireless
	  controller.

	  This driver can also be built as a module. To do so, say M here.
	  the module will be called 'at86rf230'.

config IEEE802154_AT86RF230_DEBUGFS
	depends on IEEE802154_AT86RF230
	bool "AT86RF230 debugfs interface"
	depends on DEBUG_FS
	---help---
	  This option compiles debugfs code for the at86rf230 driver.

config IEEE802154_MRF24J40
	depends on !KERNEL_3_5
	tristate "Microchip MRF24J40 transceiver driver"
	depends on m
	depends on IEEE802154_DRIVERS && MAC802154
	depends on SPI
	depends on REGMAP_SPI
	---help---
	  Say Y here to enable the MRF24J20 SPI 802.15.4 wireless
	  controller.

	  This driver can also be built as a module. To do so, say M here.
	  the module will be called 'mrf24j40'.

config IEEE802154_CC2520
	depends on !KERNEL_3_5
	depends on IEEE802154_DRIVERS && MAC802154
	tristate "CC2520 transceiver driver"
	depends on m
	depends on SPI
	---help---
	  Say Y here to enable the CC2520 SPI 802.15.4 wireless
	  controller.

	  This driver can also be built as a module. To do so, say M here.
	  the module will be called 'cc2520'.

config IEEE802154_ATUSB
	tristate "ATUSB transceiver driver"
	depends on m
	depends on IEEE802154_DRIVERS && MAC802154 && USB
	---help---
	  Say Y here to enable the ATUSB IEEE 802.15.4 wireless
	  controller.

	  This driver can also be built as a module. To do so say M here.
	  The module will be called 'atusb'.

config IEEE802154_ADF7242
       tristate "ADF7242 transceiver driver"
       depends on m
       depends on IEEE802154_DRIVERS && MAC802154
       depends on SPI
	---help---
	  Say Y here to enable the ADF7242 SPI 802.15.4 wireless
	  controller.

	  This driver can also be built as a module. To do so, say M here.
	  the module will be called 'adf7242'.
