Re: [PATCH] mmc: block: Move files to core

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear Ulf,

On 12/09/2016 08:48 AM, Ulf Hansson wrote:
> 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.

Just minor question, Does it keep the below comments?

drivers/mmc/core/mmc_test.c:2: *  linux/drivers/mmc/card/mmc_test.c
drivers/mmc/core/queue.c:2: *  linux/drivers/mmc/card/queue.c
drivers/mmc/core/sdio_uart.c:2: * linux/drivers/mmc/card/sdio_uart.c - SDIO UART/GPS driver

After moving files to core, can they be changed?
Is it more comfortable than changing now?

And 

Best Regards,
Jaehoon Chung

> 
> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
> ---
> 
> Changes in v2:
> 	- Updated changelog to better reflect why I think this is good idea.
> 	- Add reviewed tag from Linus (off-list).
> 	- Used "git format-patch -M", per advise from Linus (thanks!!) to get a
> 	nice patch-diff when renaming files.
> 
> 
> Another note; If people agree that this seems like a good idea, I intend to
> queue this up for 4.10 and then work on the following clean-ups step-by-step.
> 
> ---
>  drivers/mmc/Kconfig                    |  2 -
>  drivers/mmc/Makefile                   |  1 -
>  drivers/mmc/card/Kconfig               | 70 ----------------------------------
>  drivers/mmc/card/Makefile              | 10 -----
>  drivers/mmc/core/Kconfig               | 66 ++++++++++++++++++++++++++++++++
>  drivers/mmc/core/Makefile              |  4 ++
>  drivers/mmc/{card => core}/block.c     |  0
>  drivers/mmc/{card => core}/block.h     |  0
>  drivers/mmc/{card => core}/mmc_test.c  |  0
>  drivers/mmc/{card => core}/queue.c     |  0
>  drivers/mmc/{card => core}/queue.h     |  0
>  drivers/mmc/{card => core}/sdio_uart.c |  0
>  12 files changed, 70 insertions(+), 83 deletions(-)
>  delete mode 100644 drivers/mmc/card/Kconfig
>  delete mode 100644 drivers/mmc/card/Makefile
>  rename drivers/mmc/{card => core}/block.c (100%)
>  rename drivers/mmc/{card => core}/block.h (100%)
>  rename drivers/mmc/{card => core}/mmc_test.c (100%)
>  rename drivers/mmc/{card => core}/queue.c (100%)
>  rename drivers/mmc/{card => core}/queue.h (100%)
>  rename drivers/mmc/{card => core}/sdio_uart.c (100%)
> 
> diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig
> index f2eeb38..7e803fc4 100644
> --- a/drivers/mmc/Kconfig
> +++ b/drivers/mmc/Kconfig
> @@ -23,8 +23,6 @@ if MMC
>  
>  source "drivers/mmc/core/Kconfig"
>  
> -source "drivers/mmc/card/Kconfig"
> -
>  source "drivers/mmc/host/Kconfig"
>  
>  endif # MMC
> diff --git a/drivers/mmc/Makefile b/drivers/mmc/Makefile
> index 400756e..416b6d1 100644
> --- a/drivers/mmc/Makefile
> +++ b/drivers/mmc/Makefile
> @@ -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/
> diff --git a/drivers/mmc/card/Kconfig b/drivers/mmc/card/Kconfig
> deleted file mode 100644
> index 5562308..0000000
> --- a/drivers/mmc/card/Kconfig
> +++ /dev/null
> @@ -1,70 +0,0 @@
> -#
> -# 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.
> diff --git a/drivers/mmc/card/Makefile b/drivers/mmc/card/Makefile
> deleted file mode 100644
> index c73b406..0000000
> --- a/drivers/mmc/card/Makefile
> +++ /dev/null
> @@ -1,10 +0,0 @@
> -#
> -# 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
> -
> diff --git a/drivers/mmc/core/Kconfig b/drivers/mmc/core/Kconfig
> index 250f223..cdfa852 100644
> --- a/drivers/mmc/core/Kconfig
> +++ b/drivers/mmc/core/Kconfig
> @@ -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.
> +
> diff --git a/drivers/mmc/core/Makefile b/drivers/mmc/core/Makefile
> index f007151..b2a257d 100644
> --- a/drivers/mmc/core/Makefile
> +++ b/drivers/mmc/core/Makefile
> @@ -12,3 +12,7 @@ mmc_core-$(CONFIG_OF)		+= pwrseq.o
>  obj-$(CONFIG_PWRSEQ_SIMPLE)	+= pwrseq_simple.o
>  obj-$(CONFIG_PWRSEQ_EMMC)	+= pwrseq_emmc.o
>  mmc_core-$(CONFIG_DEBUG_FS)	+= debugfs.o
> +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
> diff --git a/drivers/mmc/card/block.c b/drivers/mmc/core/block.c
> similarity index 100%
> rename from drivers/mmc/card/block.c
> rename to drivers/mmc/core/block.c
> diff --git a/drivers/mmc/card/block.h b/drivers/mmc/core/block.h
> similarity index 100%
> rename from drivers/mmc/card/block.h
> rename to drivers/mmc/core/block.h
> diff --git a/drivers/mmc/card/mmc_test.c b/drivers/mmc/core/mmc_test.c
> similarity index 100%
> rename from drivers/mmc/card/mmc_test.c
> rename to drivers/mmc/core/mmc_test.c
> diff --git a/drivers/mmc/card/queue.c b/drivers/mmc/core/queue.c
> similarity index 100%
> rename from drivers/mmc/card/queue.c
> rename to drivers/mmc/core/queue.c
> diff --git a/drivers/mmc/card/queue.h b/drivers/mmc/core/queue.h
> similarity index 100%
> rename from drivers/mmc/card/queue.h
> rename to drivers/mmc/core/queue.h
> diff --git a/drivers/mmc/card/sdio_uart.c b/drivers/mmc/core/sdio_uart.c
> similarity index 100%
> rename from drivers/mmc/card/sdio_uart.c
> rename to drivers/mmc/core/sdio_uart.c
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux