Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f397c8d8 authored by Ulf Hansson's avatar Ulf Hansson
Browse files

mmc: block: Move files to core



Once upon a time it made sense to keep the mmc block device driver and its
related code, in its own directory called card. Over time, more an more
functions/structures have become shared through generic mmc header files,
between the core and the card directory. In other words, the relationship
between them has become closer.

By sharing functions/structures via generic header files, it becomes easy
for outside users to abuse them. In a way to avoid that from happen, let's
move the files from card directory into the core directory, as it enables
us to move definitions of functions/structures into mmc core specific
header files.

Note, this is only the first step in providing a cleaner mmc interface for
outside users. Following changes will do the actual cleanup, as that is not
part of this change.

Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent ff6af28f
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -23,8 +23,6 @@ if MMC

source "drivers/mmc/core/Kconfig"

source "drivers/mmc/card/Kconfig"

source "drivers/mmc/host/Kconfig"

endif # MMC
+0 −1
Original line number Diff line number Diff line
@@ -5,5 +5,4 @@
subdir-ccflags-$(CONFIG_MMC_DEBUG) := -DDEBUG

obj-$(CONFIG_MMC)		+= core/
obj-$(CONFIG_MMC)		+= card/
obj-$(subst m,y,$(CONFIG_MMC))	+= host/

drivers/mmc/card/Kconfig

deleted100644 → 0
+0 −70
Original line number Diff line number Diff line
#
# MMC/SD card drivers
#

comment "MMC/SD/SDIO Card Drivers"

config MMC_BLOCK
	tristate "MMC block device driver"
	depends on BLOCK
	default y
	help
	  Say Y here to enable the MMC block device driver support.
	  This provides a block device driver, which you can use to
	  mount the filesystem. Almost everyone wishing MMC support
	  should say Y or M here.

config MMC_BLOCK_MINORS
	int "Number of minors per block device"
	depends on MMC_BLOCK
	range 4 256
	default 8
	help
	  Number of minors per block device. One is needed for every
	  partition on the disk (plus one for the whole disk).

	  Number of total MMC minors available is 256, so your number
	  of supported block devices will be limited to 256 divided
	  by this number.

	  Default is 8 to be backwards compatible with previous
	  hardwired device numbering.

	  If unsure, say 8 here.

config MMC_BLOCK_BOUNCE
	bool "Use bounce buffer for simple hosts"
	depends on MMC_BLOCK
	default y
	help
	  SD/MMC is a high latency protocol where it is crucial to
	  send large requests in order to get high performance. Many
	  controllers, however, are restricted to continuous memory
	  (i.e. they can't do scatter-gather), something the kernel
	  rarely can provide.

	  Say Y here to help these restricted hosts by bouncing
	  requests back and forth from a large buffer. You will get
	  a big performance gain at the cost of up to 64 KiB of
	  physical memory.

	  If unsure, say Y here.

config SDIO_UART
	tristate "SDIO UART/GPS class support"
	depends on TTY
	help
	  SDIO function driver for SDIO cards that implements the UART
	  class, as well as the GPS class which appears like a UART.

config MMC_TEST
	tristate "MMC host test driver"
	help
	  Development driver that performs a series of reads and writes
	  to a memory card in order to expose certain well known bugs
	  in host controllers. The tests are executed by writing to the
	  "test" file in debugfs under each card. Note that whatever is
	  on your card will be overwritten by these tests.

	  This driver is only of interest to those developing or
	  testing a host driver. Most people should say N here.

drivers/mmc/card/Makefile

deleted100644 → 0
+0 −10
Original line number Diff line number Diff line
#
# Makefile for MMC/SD card drivers
#

obj-$(CONFIG_MMC_BLOCK)		+= mmc_block.o
mmc_block-objs			:= block.o queue.o
obj-$(CONFIG_MMC_TEST)		+= mmc_test.o

obj-$(CONFIG_SDIO_UART)		+= sdio_uart.o
+66 −0
Original line number Diff line number Diff line
@@ -22,3 +22,69 @@ config PWRSEQ_SIMPLE

	  This driver can also be built as a module. If so, the module
	  will be called pwrseq_simple.

config MMC_BLOCK
	tristate "MMC block device driver"
	depends on BLOCK
	default y
	help
	  Say Y here to enable the MMC block device driver support.
	  This provides a block device driver, which you can use to
	  mount the filesystem. Almost everyone wishing MMC support
	  should say Y or M here.

config MMC_BLOCK_MINORS
	int "Number of minors per block device"
	depends on MMC_BLOCK
	range 4 256
	default 8
	help
	  Number of minors per block device. One is needed for every
	  partition on the disk (plus one for the whole disk).

	  Number of total MMC minors available is 256, so your number
	  of supported block devices will be limited to 256 divided
	  by this number.

	  Default is 8 to be backwards compatible with previous
	  hardwired device numbering.

	  If unsure, say 8 here.

config MMC_BLOCK_BOUNCE
	bool "Use bounce buffer for simple hosts"
	depends on MMC_BLOCK
	default y
	help
	  SD/MMC is a high latency protocol where it is crucial to
	  send large requests in order to get high performance. Many
	  controllers, however, are restricted to continuous memory
	  (i.e. they can't do scatter-gather), something the kernel
	  rarely can provide.

	  Say Y here to help these restricted hosts by bouncing
	  requests back and forth from a large buffer. You will get
	  a big performance gain at the cost of up to 64 KiB of
	  physical memory.

	  If unsure, say Y here.

config SDIO_UART
	tristate "SDIO UART/GPS class support"
	depends on TTY
	help
	  SDIO function driver for SDIO cards that implements the UART
	  class, as well as the GPS class which appears like a UART.

config MMC_TEST
	tristate "MMC host test driver"
	help
	  Development driver that performs a series of reads and writes
	  to a memory card in order to expose certain well known bugs
	  in host controllers. The tests are executed by writing to the
	  "test" file in debugfs under each card. Note that whatever is
	  on your card will be overwritten by these tests.

	  This driver is only of interest to those developing or
	  testing a host driver. Most people should say N here.
Loading