# SPDX-License-Identifier: GPL-2.0
menuconfig MOST
	tristate "MOST support"
	depends on HAS_DMA && CONFIGFS_FS
	default n
	help
	  Say Y here if you want to enable MOST support.
	  This driver needs at least one additional component to enable the
	  desired access from userspace (e.g. character devices) and one that
	  matches the network controller's hardware interface (e.g. USB).

	  To compile this driver as a module, choose M here: the
	  module will be called most_core.

	  If in doubt, say N here.

if MOST
config MOST_USB_HDM
	tristate "USB"
	depends on USB
	help
	  Say Y here if you want to connect via USB to network transceiver.

	  To compile this driver as a module, choose M here: the
	  module will be called most_usb.

config MOST_CDEV
	tristate "Cdev"

	help
	  Say Y here if you want to commumicate via character devices.

	  To compile this driver as a module, choose M here: the
	  module will be called most_cdev.

config MOST_SND
	tristate "Sound"
	depends on SND
	select SND_PCM
	help
	  Say Y here if you want to commumicate via ALSA/sound devices.

	  To compile this driver as a module, choose M here: the
	  module will be called most_sound.
endif
