#
# MemoryStick host controller drivers
#

comment "MemoryStick Host Controller Drivers"

config MEMSTICK_TIFM_MS
	tristate "TI Flash Media MemoryStick Interface support "
	depends on PCI
	select TIFM_CORE
	help
	  Say Y here if you want to be able to access MemoryStick cards with
	  the Texas Instruments(R) Flash Media card reader, found in many
	  laptops.
	  This option 'selects' (turns on, enables) 'TIFM_CORE', but you
	  probably also need appropriate card reader host adapter, such as
	  'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support
	  (TIFM_7XX1)'.

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

config MEMSTICK_JMICRON_38X
	tristate "JMicron JMB38X MemoryStick interface support"
	depends on PCI

	help
	  Say Y here if you want to be able to access MemoryStick cards with
	  the JMicron(R) JMB38X MemoryStick card reader.

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

config MEMSTICK_R592
	tristate "Ricoh R5C592 MemoryStick interface support"
	depends on PCI

	help
	  Say Y here if you want to be able to access MemoryStick cards with
	  the Ricoh R5C592 MemoryStick card reader (which is part of 5 in one
		multifunction reader)

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

config MEMSTICK_REALTEK_PCI
	tristate "Realtek PCI-E Memstick Card Interface Driver"
	depends on MFD_RTSX_PCI
	help
	  Say Y here to include driver code to support Memstick card interface
	  of Realtek PCI-E card reader

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

config MEMSTICK_REALTEK_USB
	tristate "Realtek USB Memstick Card Interface Driver"
	depends on MFD_RTSX_USB
	help
	  Say Y here to include driver code to support Memstick card interface
	  of Realtek RTS5129/39 series USB card reader

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