diff options
author | Ulf Hansson <ulf.hansson@linaro.org> | 2016-12-08 05:23:49 -0500 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@linaro.org> | 2016-12-12 10:30:05 -0500 |
commit | f397c8d80a5e413984bd9ccdf4161c7156b365ce (patch) | |
tree | 9767f0418fe8ef53d6571fefc8b7b53558b7fce0 /drivers/mmc | |
parent | ff6af28faff53a7389230026b83e543385f7b21d (diff) |
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: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/Kconfig | 2 | ||||
-rw-r--r-- | drivers/mmc/Makefile | 1 | ||||
-rw-r--r-- | drivers/mmc/card/Kconfig | 70 | ||||
-rw-r--r-- | drivers/mmc/card/Makefile | 10 | ||||
-rw-r--r-- | drivers/mmc/core/Kconfig | 66 | ||||
-rw-r--r-- | drivers/mmc/core/Makefile | 4 | ||||
-rw-r--r-- | drivers/mmc/core/block.c (renamed from drivers/mmc/card/block.c) | 0 | ||||
-rw-r--r-- | drivers/mmc/core/block.h (renamed from drivers/mmc/card/block.h) | 0 | ||||
-rw-r--r-- | drivers/mmc/core/mmc_test.c (renamed from drivers/mmc/card/mmc_test.c) | 2 | ||||
-rw-r--r-- | drivers/mmc/core/queue.c (renamed from drivers/mmc/card/queue.c) | 2 | ||||
-rw-r--r-- | drivers/mmc/core/queue.h (renamed from drivers/mmc/card/queue.h) | 0 | ||||
-rw-r--r-- | drivers/mmc/core/sdio_uart.c (renamed from drivers/mmc/card/sdio_uart.c) | 2 |
12 files changed, 71 insertions, 88 deletions
diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig index f2eeb38efa65..7e803fc454d1 100644 --- a/drivers/mmc/Kconfig +++ b/drivers/mmc/Kconfig | |||
@@ -23,8 +23,6 @@ if MMC | |||
23 | 23 | ||
24 | source "drivers/mmc/core/Kconfig" | 24 | source "drivers/mmc/core/Kconfig" |
25 | 25 | ||
26 | source "drivers/mmc/card/Kconfig" | ||
27 | |||
28 | source "drivers/mmc/host/Kconfig" | 26 | source "drivers/mmc/host/Kconfig" |
29 | 27 | ||
30 | endif # MMC | 28 | endif # MMC |
diff --git a/drivers/mmc/Makefile b/drivers/mmc/Makefile index 400756ec7c49..416b6d1c9ec6 100644 --- a/drivers/mmc/Makefile +++ b/drivers/mmc/Makefile | |||
@@ -5,5 +5,4 @@ | |||
5 | subdir-ccflags-$(CONFIG_MMC_DEBUG) := -DDEBUG | 5 | subdir-ccflags-$(CONFIG_MMC_DEBUG) := -DDEBUG |
6 | 6 | ||
7 | obj-$(CONFIG_MMC) += core/ | 7 | obj-$(CONFIG_MMC) += core/ |
8 | obj-$(CONFIG_MMC) += card/ | ||
9 | obj-$(subst m,y,$(CONFIG_MMC)) += host/ | 8 | obj-$(subst m,y,$(CONFIG_MMC)) += host/ |
diff --git a/drivers/mmc/card/Kconfig b/drivers/mmc/card/Kconfig deleted file mode 100644 index 5562308699bc..000000000000 --- a/drivers/mmc/card/Kconfig +++ /dev/null | |||
@@ -1,70 +0,0 @@ | |||
1 | # | ||
2 | # MMC/SD card drivers | ||
3 | # | ||
4 | |||
5 | comment "MMC/SD/SDIO Card Drivers" | ||
6 | |||
7 | config MMC_BLOCK | ||
8 | tristate "MMC block device driver" | ||
9 | depends on BLOCK | ||
10 | default y | ||
11 | help | ||
12 | Say Y here to enable the MMC block device driver support. | ||
13 | This provides a block device driver, which you can use to | ||
14 | mount the filesystem. Almost everyone wishing MMC support | ||
15 | should say Y or M here. | ||
16 | |||
17 | config MMC_BLOCK_MINORS | ||
18 | int "Number of minors per block device" | ||
19 | depends on MMC_BLOCK | ||
20 | range 4 256 | ||
21 | default 8 | ||
22 | help | ||
23 | Number of minors per block device. One is needed for every | ||
24 | partition on the disk (plus one for the whole disk). | ||
25 | |||
26 | Number of total MMC minors available is 256, so your number | ||
27 | of supported block devices will be limited to 256 divided | ||
28 | by this number. | ||
29 | |||
30 | Default is 8 to be backwards compatible with previous | ||
31 | hardwired device numbering. | ||
32 | |||
33 | If unsure, say 8 here. | ||
34 | |||
35 | config MMC_BLOCK_BOUNCE | ||
36 | bool "Use bounce buffer for simple hosts" | ||
37 | depends on MMC_BLOCK | ||
38 | default y | ||
39 | help | ||
40 | SD/MMC is a high latency protocol where it is crucial to | ||
41 | send large requests in order to get high performance. Many | ||
42 | controllers, however, are restricted to continuous memory | ||
43 | (i.e. they can't do scatter-gather), something the kernel | ||
44 | rarely can provide. | ||
45 | |||
46 | Say Y here to help these restricted hosts by bouncing | ||
47 | requests back and forth from a large buffer. You will get | ||
48 | a big performance gain at the cost of up to 64 KiB of | ||
49 | physical memory. | ||
50 | |||
51 | If unsure, say Y here. | ||
52 | |||
53 | config SDIO_UART | ||
54 | tristate "SDIO UART/GPS class support" | ||
55 | depends on TTY | ||
56 | help | ||
57 | SDIO function driver for SDIO cards that implements the UART | ||
58 | class, as well as the GPS class which appears like a UART. | ||
59 | |||
60 | config MMC_TEST | ||
61 | tristate "MMC host test driver" | ||
62 | help | ||
63 | Development driver that performs a series of reads and writes | ||
64 | to a memory card in order to expose certain well known bugs | ||
65 | in host controllers. The tests are executed by writing to the | ||
66 | "test" file in debugfs under each card. Note that whatever is | ||
67 | on your card will be overwritten by these tests. | ||
68 | |||
69 | This driver is only of interest to those developing or | ||
70 | testing a host driver. Most people should say N here. | ||
diff --git a/drivers/mmc/card/Makefile b/drivers/mmc/card/Makefile deleted file mode 100644 index c73b406a06cd..000000000000 --- a/drivers/mmc/card/Makefile +++ /dev/null | |||
@@ -1,10 +0,0 @@ | |||
1 | # | ||
2 | # Makefile for MMC/SD card drivers | ||
3 | # | ||
4 | |||
5 | obj-$(CONFIG_MMC_BLOCK) += mmc_block.o | ||
6 | mmc_block-objs := block.o queue.o | ||
7 | obj-$(CONFIG_MMC_TEST) += mmc_test.o | ||
8 | |||
9 | obj-$(CONFIG_SDIO_UART) += sdio_uart.o | ||
10 | |||
diff --git a/drivers/mmc/core/Kconfig b/drivers/mmc/core/Kconfig index 250f223aaa80..cdfa8520a4b1 100644 --- a/drivers/mmc/core/Kconfig +++ b/drivers/mmc/core/Kconfig | |||
@@ -22,3 +22,69 @@ config PWRSEQ_SIMPLE | |||
22 | 22 | ||
23 | This driver can also be built as a module. If so, the module | 23 | This driver can also be built as a module. If so, the module |
24 | will be called pwrseq_simple. | 24 | will be called pwrseq_simple. |
25 | |||
26 | config MMC_BLOCK | ||
27 | tristate "MMC block device driver" | ||
28 | depends on BLOCK | ||
29 | default y | ||
30 | help | ||
31 | Say Y here to enable the MMC block device driver support. | ||
32 | This provides a block device driver, which you can use to | ||
33 | mount the filesystem. Almost everyone wishing MMC support | ||
34 | should say Y or M here. | ||
35 | |||
36 | config MMC_BLOCK_MINORS | ||
37 | int "Number of minors per block device" | ||
38 | depends on MMC_BLOCK | ||
39 | range 4 256 | ||
40 | default 8 | ||
41 | help | ||
42 | Number of minors per block device. One is needed for every | ||
43 | partition on the disk (plus one for the whole disk). | ||
44 | |||
45 | Number of total MMC minors available is 256, so your number | ||
46 | of supported block devices will be limited to 256 divided | ||
47 | by this number. | ||
48 | |||
49 | Default is 8 to be backwards compatible with previous | ||
50 | hardwired device numbering. | ||
51 | |||
52 | If unsure, say 8 here. | ||
53 | |||
54 | config MMC_BLOCK_BOUNCE | ||
55 | bool "Use bounce buffer for simple hosts" | ||
56 | depends on MMC_BLOCK | ||
57 | default y | ||
58 | help | ||
59 | SD/MMC is a high latency protocol where it is crucial to | ||
60 | send large requests in order to get high performance. Many | ||
61 | controllers, however, are restricted to continuous memory | ||
62 | (i.e. they can't do scatter-gather), something the kernel | ||
63 | rarely can provide. | ||
64 | |||
65 | Say Y here to help these restricted hosts by bouncing | ||
66 | requests back and forth from a large buffer. You will get | ||
67 | a big performance gain at the cost of up to 64 KiB of | ||
68 | physical memory. | ||
69 | |||
70 | If unsure, say Y here. | ||
71 | |||
72 | config SDIO_UART | ||
73 | tristate "SDIO UART/GPS class support" | ||
74 | depends on TTY | ||
75 | help | ||
76 | SDIO function driver for SDIO cards that implements the UART | ||
77 | class, as well as the GPS class which appears like a UART. | ||
78 | |||
79 | config MMC_TEST | ||
80 | tristate "MMC host test driver" | ||
81 | help | ||
82 | Development driver that performs a series of reads and writes | ||
83 | to a memory card in order to expose certain well known bugs | ||
84 | in host controllers. The tests are executed by writing to the | ||
85 | "test" file in debugfs under each card. Note that whatever is | ||
86 | on your card will be overwritten by these tests. | ||
87 | |||
88 | This driver is only of interest to those developing or | ||
89 | testing a host driver. Most people should say N here. | ||
90 | |||
diff --git a/drivers/mmc/core/Makefile b/drivers/mmc/core/Makefile index f007151dfdc6..b2a257dc644f 100644 --- a/drivers/mmc/core/Makefile +++ b/drivers/mmc/core/Makefile | |||
@@ -12,3 +12,7 @@ mmc_core-$(CONFIG_OF) += pwrseq.o | |||
12 | obj-$(CONFIG_PWRSEQ_SIMPLE) += pwrseq_simple.o | 12 | obj-$(CONFIG_PWRSEQ_SIMPLE) += pwrseq_simple.o |
13 | obj-$(CONFIG_PWRSEQ_EMMC) += pwrseq_emmc.o | 13 | obj-$(CONFIG_PWRSEQ_EMMC) += pwrseq_emmc.o |
14 | mmc_core-$(CONFIG_DEBUG_FS) += debugfs.o | 14 | mmc_core-$(CONFIG_DEBUG_FS) += debugfs.o |
15 | obj-$(CONFIG_MMC_BLOCK) += mmc_block.o | ||
16 | mmc_block-objs := block.o queue.o | ||
17 | obj-$(CONFIG_MMC_TEST) += mmc_test.o | ||
18 | obj-$(CONFIG_SDIO_UART) += sdio_uart.o | ||
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/core/block.c index 646d1a1fa6ca..646d1a1fa6ca 100644 --- a/drivers/mmc/card/block.c +++ b/drivers/mmc/core/block.c | |||
diff --git a/drivers/mmc/card/block.h b/drivers/mmc/core/block.h index cdabb2ee74be..cdabb2ee74be 100644 --- a/drivers/mmc/card/block.h +++ b/drivers/mmc/core/block.h | |||
diff --git a/drivers/mmc/card/mmc_test.c b/drivers/mmc/core/mmc_test.c index ec1d1c46eb90..3ab6e52d106c 100644 --- a/drivers/mmc/card/mmc_test.c +++ b/drivers/mmc/core/mmc_test.c | |||
@@ -1,6 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * linux/drivers/mmc/card/mmc_test.c | ||
3 | * | ||
4 | * Copyright 2007-2008 Pierre Ossman | 2 | * Copyright 2007-2008 Pierre Ossman |
5 | * | 3 | * |
6 | * This program is free software; you can redistribute it and/or modify | 4 | * This program is free software; you can redistribute it and/or modify |
diff --git a/drivers/mmc/card/queue.c b/drivers/mmc/core/queue.c index cf29809f69e4..f4e3d76792f3 100644 --- a/drivers/mmc/card/queue.c +++ b/drivers/mmc/core/queue.c | |||
@@ -1,6 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * linux/drivers/mmc/card/queue.c | ||
3 | * | ||
4 | * Copyright (C) 2003 Russell King, All Rights Reserved. | 2 | * Copyright (C) 2003 Russell King, All Rights Reserved. |
5 | * Copyright 2006-2007 Pierre Ossman | 3 | * Copyright 2006-2007 Pierre Ossman |
6 | * | 4 | * |
diff --git a/drivers/mmc/card/queue.h b/drivers/mmc/core/queue.h index dac8c3d010dd..dac8c3d010dd 100644 --- a/drivers/mmc/card/queue.h +++ b/drivers/mmc/core/queue.h | |||
diff --git a/drivers/mmc/card/sdio_uart.c b/drivers/mmc/core/sdio_uart.c index 491c187744f5..d3c91f412b69 100644 --- a/drivers/mmc/card/sdio_uart.c +++ b/drivers/mmc/core/sdio_uart.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/drivers/mmc/card/sdio_uart.c - SDIO UART/GPS driver | 2 | * SDIO UART/GPS driver |
3 | * | 3 | * |
4 | * Based on drivers/serial/8250.c and drivers/serial/serial_core.c | 4 | * Based on drivers/serial/8250.c and drivers/serial/serial_core.c |
5 | * by Russell King. | 5 | * by Russell King. |