# SPDX-License-Identifier: GPL-2.0
menuconfig MOST
	tristate "MOST (Media Oriented Systems Transport) 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
