All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] misc: rtsx: Move Realtek Card Reader Driver to misc
@ 2017-10-19  3:22 rui_feng
  2017-10-19  7:10 ` Arnd Bergmann
  0 siblings, 1 reply; 10+ messages in thread
From: rui_feng @ 2017-10-19  3:22 UTC (permalink / raw)
  To: lee.jones, arnd, gregkh; +Cc: linux-kernel, ricky_wu, Rui Feng

From: Rui Feng <rui_feng@realsil.com.cn>

Because Realtek PCIE card reader driver is a pcie driver,
and it bridges mmc subsystem and memstick subsystem, it's
not a mfd driver. Greg and Lee Jones had a discussion about
where to put the driver, the result is that misc is a good
place for it, so I move all files to misc. If I don't move
it to a right place, I can't add any patch for this driver.

Signed-off-by: Rui Feng <rui_feng@realsil.com.cn>
---
 drivers/memstick/host/rtsx_pci_ms.c      |  2 +-
 drivers/mfd/Kconfig                      | 11 -----------
 drivers/mfd/Makefile                     |  2 --
 drivers/misc/Kconfig                     |  1 +
 drivers/misc/Makefile                    |  1 +
 drivers/misc/realtek/Kconfig             | 10 ++++++++++
 drivers/misc/realtek/Makefile            |  3 +++
 drivers/{mfd => misc/realtek}/rtl8411.c  |  1 -
 drivers/{mfd => misc/realtek}/rts5209.c  |  1 -
 drivers/{mfd => misc/realtek}/rts5227.c  |  1 -
 drivers/{mfd => misc/realtek}/rts5229.c  |  1 -
 drivers/{mfd => misc/realtek}/rts5249.c  |  2 --
 drivers/{mfd => misc/realtek}/rtsx_pcr.c |  1 -
 drivers/{mfd => misc/realtek}/rtsx_pcr.h |  2 +-
 drivers/mmc/host/rtsx_pci_sdmmc.c        |  2 +-
 include/linux/{mfd => }/rtsx_common.h    |  0
 include/linux/{mfd => }/rtsx_pci.h       |  0
 17 files changed, 18 insertions(+), 23 deletions(-)
 create mode 100644 drivers/misc/realtek/Kconfig
 create mode 100644 drivers/misc/realtek/Makefile
 rename drivers/{mfd => misc/realtek}/rtl8411.c (99%)
 rename drivers/{mfd => misc/realtek}/rts5209.c (99%)
 rename drivers/{mfd => misc/realtek}/rts5227.c (99%)
 rename drivers/{mfd => misc/realtek}/rts5229.c (99%)
 rename drivers/{mfd => misc/realtek}/rts5249.c (99%)
 rename drivers/{mfd => misc/realtek}/rtsx_pcr.c (99%)
 rename drivers/{mfd => misc/realtek}/rtsx_pcr.h (99%)
 rename include/linux/{mfd => }/rtsx_common.h (100%)
 rename include/linux/{mfd => }/rtsx_pci.h (100%)

diff --git a/drivers/memstick/host/rtsx_pci_ms.c b/drivers/memstick/host/rtsx_pci_ms.c
index 818fa94..a44b457 100644
--- a/drivers/memstick/host/rtsx_pci_ms.c
+++ b/drivers/memstick/host/rtsx_pci_ms.c
@@ -24,7 +24,7 @@
 #include <linux/delay.h>
 #include <linux/platform_device.h>
 #include <linux/memstick.h>
-#include <linux/mfd/rtsx_pci.h>
+#include <linux/rtsx_pci.h>
 #include <asm/unaligned.h>
 
 struct realtek_pci_ms {
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index fc5e4fe..97c0ee5 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -916,17 +916,6 @@ config MFD_RDC321X
 	  southbridge which provides access to GPIOs and Watchdog using the
 	  southbridge PCI device configuration space.
 
-config MFD_RTSX_PCI
-	tristate "Realtek PCI-E card reader"
-	depends on PCI
-	select MFD_CORE
-	help
-	  This supports for Realtek PCI-Express card reader including rts5209,
-	  rts5227, rts522A, rts5229, rts5249, rts524A, rts525A, rtl8411, etc.
-	  Realtek card reader supports access to many types of memory cards,
-	  such as Memory Stick, Memory Stick Pro, Secure Digital and
-	  MultiMediaCard.
-
 config MFD_RT5033
 	tristate "Richtek RT5033 Power Management IC"
 	depends on I2C
diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
index c3d0a1b..5398aca 100644
--- a/drivers/mfd/Makefile
+++ b/drivers/mfd/Makefile
@@ -18,8 +18,6 @@ obj-$(CONFIG_MFD_CROS_EC_I2C)	+= cros_ec_i2c.o
 obj-$(CONFIG_MFD_CROS_EC_SPI)	+= cros_ec_spi.o
 obj-$(CONFIG_MFD_EXYNOS_LPASS)	+= exynos-lpass.o
 
-rtsx_pci-objs			:= rtsx_pcr.o rts5209.o rts5229.o rtl8411.o rts5227.o rts5249.o
-obj-$(CONFIG_MFD_RTSX_PCI)	+= rtsx_pci.o
 obj-$(CONFIG_MFD_RTSX_USB)	+= rtsx_usb.o
 
 obj-$(CONFIG_HTC_PASIC3)	+= htc-pasic3.o
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index 8136dc7..5389d62 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -518,4 +518,5 @@ source "drivers/misc/mic/Kconfig"
 source "drivers/misc/genwqe/Kconfig"
 source "drivers/misc/echo/Kconfig"
 source "drivers/misc/cxl/Kconfig"
+source "drivers/misc/realtek/Kconfig"
 endmenu
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index d84819d..1900ca9 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -55,6 +55,7 @@ obj-$(CONFIG_CXL_BASE)		+= cxl/
 obj-$(CONFIG_ASPEED_LPC_CTRL)	+= aspeed-lpc-ctrl.o
 obj-$(CONFIG_ASPEED_LPC_SNOOP)	+= aspeed-lpc-snoop.o
 obj-$(CONFIG_PCI_ENDPOINT_TEST)	+= pci_endpoint_test.o
+obj-$(CONFIG_MFD_RTSX_PCI)	+=realtek/
 
 lkdtm-$(CONFIG_LKDTM)		+= lkdtm_core.o
 lkdtm-$(CONFIG_LKDTM)		+= lkdtm_bugs.o
diff --git a/drivers/misc/realtek/Kconfig b/drivers/misc/realtek/Kconfig
new file mode 100644
index 0000000..10a8f97
--- /dev/null
+++ b/drivers/misc/realtek/Kconfig
@@ -0,0 +1,10 @@
+config MFD_RTSX_PCI
+	tristate "Realtek PCI-E card reader"
+	depends on PCI
+	select MFD_CORE
+	help
+	  This supports for Realtek PCI-Express card reader including rts5209,
+	  rts5227, rts522A, rts5229, rts5249, rts524A, rts525A, rtl8411, etc.
+	  Realtek card reader supports access to many types of memory cards,
+	  such as Memory Stick, Memory Stick Pro, Secure Digital and
+	  MultiMediaCard.
diff --git a/drivers/misc/realtek/Makefile b/drivers/misc/realtek/Makefile
new file mode 100644
index 0000000..67c5cf3
--- /dev/null
+++ b/drivers/misc/realtek/Makefile
@@ -0,0 +1,3 @@
+rtsx_pci-objs := rtsx_pcr.o rts5209.o rts5229.o rtl8411.o rts5227.o rts5249.o
+
+obj-$(CONFIG_MFD_RTSX_PCI)	+= rtsx_pci.o
\ No newline at end of file
diff --git a/drivers/mfd/rtl8411.c b/drivers/misc/realtek/rtl8411.c
similarity index 99%
rename from drivers/mfd/rtl8411.c
rename to drivers/misc/realtek/rtl8411.c
index b3ae659..aba05ad 100644
--- a/drivers/mfd/rtl8411.c
+++ b/drivers/misc/realtek/rtl8411.c
@@ -23,7 +23,6 @@
 #include <linux/module.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
-#include <linux/mfd/rtsx_pci.h>
 
 #include "rtsx_pcr.h"
 
diff --git a/drivers/mfd/rts5209.c b/drivers/misc/realtek/rts5209.c
similarity index 99%
rename from drivers/mfd/rts5209.c
rename to drivers/misc/realtek/rts5209.c
index b95beec..6f1dd13 100644
--- a/drivers/mfd/rts5209.c
+++ b/drivers/misc/realtek/rts5209.c
@@ -21,7 +21,6 @@
 
 #include <linux/module.h>
 #include <linux/delay.h>
-#include <linux/mfd/rtsx_pci.h>
 
 #include "rtsx_pcr.h"
 
diff --git a/drivers/mfd/rts5227.c b/drivers/misc/realtek/rts5227.c
similarity index 99%
rename from drivers/mfd/rts5227.c
rename to drivers/misc/realtek/rts5227.c
index ff296a4..0f2faab 100644
--- a/drivers/mfd/rts5227.c
+++ b/drivers/misc/realtek/rts5227.c
@@ -22,7 +22,6 @@
 
 #include <linux/module.h>
 #include <linux/delay.h>
-#include <linux/mfd/rtsx_pci.h>
 
 #include "rtsx_pcr.h"
 
diff --git a/drivers/mfd/rts5229.c b/drivers/misc/realtek/rts5229.c
similarity index 99%
rename from drivers/mfd/rts5229.c
rename to drivers/misc/realtek/rts5229.c
index 9ed9dc8..4e39262 100644
--- a/drivers/mfd/rts5229.c
+++ b/drivers/misc/realtek/rts5229.c
@@ -21,7 +21,6 @@
 
 #include <linux/module.h>
 #include <linux/delay.h>
-#include <linux/mfd/rtsx_pci.h>
 
 #include "rtsx_pcr.h"
 
diff --git a/drivers/mfd/rts5249.c b/drivers/misc/realtek/rts5249.c
similarity index 99%
rename from drivers/mfd/rts5249.c
rename to drivers/misc/realtek/rts5249.c
index 7fcf37b..3602356 100644
--- a/drivers/mfd/rts5249.c
+++ b/drivers/misc/realtek/rts5249.c
@@ -21,7 +21,6 @@
 
 #include <linux/module.h>
 #include <linux/delay.h>
-#include <linux/mfd/rtsx_pci.h>
 
 #include "rtsx_pcr.h"
 
@@ -738,4 +737,3 @@ void rts525a_init_params(struct rtsx_pcr *pcr)
 	pcr->reg_pm_ctrl3 = RTS524A_PM_CTRL3;
 	pcr->ops = &rts525a_pcr_ops;
 }
-
diff --git a/drivers/mfd/rtsx_pcr.c b/drivers/misc/realtek/rtsx_pcr.c
similarity index 99%
rename from drivers/mfd/rtsx_pcr.c
rename to drivers/misc/realtek/rtsx_pcr.c
index 590fb9a..5d4fdd9 100644
--- a/drivers/mfd/rtsx_pcr.c
+++ b/drivers/misc/realtek/rtsx_pcr.c
@@ -29,7 +29,6 @@
 #include <linux/idr.h>
 #include <linux/platform_device.h>
 #include <linux/mfd/core.h>
-#include <linux/mfd/rtsx_pci.h>
 #include <linux/mmc/card.h>
 #include <asm/unaligned.h>
 
diff --git a/drivers/mfd/rtsx_pcr.h b/drivers/misc/realtek/rtsx_pcr.h
similarity index 99%
rename from drivers/mfd/rtsx_pcr.h
rename to drivers/misc/realtek/rtsx_pcr.h
index ec784e0..b0691c9 100644
--- a/drivers/mfd/rtsx_pcr.h
+++ b/drivers/misc/realtek/rtsx_pcr.h
@@ -22,7 +22,7 @@
 #ifndef __RTSX_PCR_H
 #define __RTSX_PCR_H
 
-#include <linux/mfd/rtsx_pci.h>
+#include <linux/rtsx_pci.h>
 
 #define MIN_DIV_N_PCR		80
 #define MAX_DIV_N_PCR		208
diff --git a/drivers/mmc/host/rtsx_pci_sdmmc.c b/drivers/mmc/host/rtsx_pci_sdmmc.c
index 0848dc0..30bd808 100644
--- a/drivers/mmc/host/rtsx_pci_sdmmc.c
+++ b/drivers/mmc/host/rtsx_pci_sdmmc.c
@@ -30,7 +30,7 @@
 #include <linux/mmc/sd.h>
 #include <linux/mmc/sdio.h>
 #include <linux/mmc/card.h>
-#include <linux/mfd/rtsx_pci.h>
+#include <linux/rtsx_pci.h>
 #include <asm/unaligned.h>
 
 struct realtek_pci_sdmmc {
diff --git a/include/linux/mfd/rtsx_common.h b/include/linux/rtsx_common.h
similarity index 100%
rename from include/linux/mfd/rtsx_common.h
rename to include/linux/rtsx_common.h
diff --git a/include/linux/mfd/rtsx_pci.h b/include/linux/rtsx_pci.h
similarity index 100%
rename from include/linux/mfd/rtsx_pci.h
rename to include/linux/rtsx_pci.h
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] misc: rtsx: Move Realtek Card Reader Driver to misc
  2017-10-19  3:22 [PATCH 1/2] misc: rtsx: Move Realtek Card Reader Driver to misc rui_feng
@ 2017-10-19  7:10 ` Arnd Bergmann
  2017-10-23  9:35   ` Lee Jones
  0 siblings, 1 reply; 10+ messages in thread
From: Arnd Bergmann @ 2017-10-19  7:10 UTC (permalink / raw)
  To: 冯锐; +Cc: Lee Jones, gregkh, Linux Kernel Mailing List, ricky_wu

On Thu, Oct 19, 2017 at 5:22 AM,  <rui_feng@realsil.com.cn> wrote:
> From: Rui Feng <rui_feng@realsil.com.cn>
>
> Because Realtek PCIE card reader driver is a pcie driver,
> and it bridges mmc subsystem and memstick subsystem, it's
> not a mfd driver. Greg and Lee Jones had a discussion about
> where to put the driver, the result is that misc is a good
> place for it, so I move all files to misc. If I don't move
> it to a right place, I can't add any patch for this driver.
>
> Signed-off-by: Rui Feng <rui_feng@realsil.com.cn>
> ---
>  drivers/memstick/host/rtsx_pci_ms.c      |  2 +-
>  drivers/mfd/Kconfig                      | 11 -----------
>  drivers/mfd/Makefile                     |  2 --
>  drivers/misc/Kconfig                     |  1 +
>  drivers/misc/Makefile                    |  1 +
>  drivers/misc/realtek/Kconfig             | 10 ++++++++++
>  drivers/misc/realtek/Makefile            |  3 +++
>  drivers/{mfd => misc/realtek}/rtl8411.c  |  1 -
>  drivers/{mfd => misc/realtek}/rts5209.c  |  1 -
>  drivers/{mfd => misc/realtek}/rts5227.c  |  1 -

Thanks for redoing the patch. If Lee and Greg want to see it moved
here, I won't object, but I'd still like to understand the distinction better,
since there are likely going to be other drivers in the same situation
(either adding into misc or mfd) and it would be good if we can all
give consistent advice.

Greg, Lee: can you come up with a simple definition of what an
MFD is that this driver does not fit into? What about other
PCI drivers like intel-lpss-pci and lpc_ich? Are they different
from this one or should they also be moved out of MFD?

      Arnd

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] misc: rtsx: Move Realtek Card Reader Driver to misc
  2017-10-19  7:10 ` Arnd Bergmann
@ 2017-10-23  9:35   ` Lee Jones
  2017-10-24  9:52     ` Arnd Bergmann
  0 siblings, 1 reply; 10+ messages in thread
From: Lee Jones @ 2017-10-23  9:35 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: 冯锐, gregkh, Linux Kernel Mailing List, ricky_wu

On Thu, 19 Oct 2017, Arnd Bergmann wrote:

> On Thu, Oct 19, 2017 at 5:22 AM,  <rui_feng@realsil.com.cn> wrote:
> > From: Rui Feng <rui_feng@realsil.com.cn>
> >
> > Because Realtek PCIE card reader driver is a pcie driver,
> > and it bridges mmc subsystem and memstick subsystem, it's
> > not a mfd driver. Greg and Lee Jones had a discussion about
> > where to put the driver, the result is that misc is a good
> > place for it, so I move all files to misc. If I don't move
> > it to a right place, I can't add any patch for this driver.
> >
> > Signed-off-by: Rui Feng <rui_feng@realsil.com.cn>
> > ---
> >  drivers/memstick/host/rtsx_pci_ms.c      |  2 +-
> >  drivers/mfd/Kconfig                      | 11 -----------
> >  drivers/mfd/Makefile                     |  2 --
> >  drivers/misc/Kconfig                     |  1 +
> >  drivers/misc/Makefile                    |  1 +
> >  drivers/misc/realtek/Kconfig             | 10 ++++++++++
> >  drivers/misc/realtek/Makefile            |  3 +++
> >  drivers/{mfd => misc/realtek}/rtl8411.c  |  1 -
> >  drivers/{mfd => misc/realtek}/rts5209.c  |  1 -
> >  drivers/{mfd => misc/realtek}/rts5227.c  |  1 -
> 
> Thanks for redoing the patch. If Lee and Greg want to see it moved
> here, I won't object, but I'd still like to understand the distinction better,
> since there are likely going to be other drivers in the same situation
> (either adding into misc or mfd) and it would be good if we can all
> give consistent advice.
> 
> Greg, Lee: can you come up with a simple definition of what an
> MFD is that this driver does not fit into? What about other
> PCI drivers like intel-lpss-pci and lpc_ich? Are they different
> from this one or should they also be moved out of MFD?

MFDs drivers don't *do* anything.  They handle shared resources,
register featureful devices residing in other subsystems and provide
simple shared functionality pertaining to the chip as a whole.

These card reader devices *are* the featureful drivers and brim with
useful functionality.

intel-lpss-pci and lpc_ich conform to the aforementioned definition.
 
-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] misc: rtsx: Move Realtek Card Reader Driver to misc
  2017-10-23  9:35   ` Lee Jones
@ 2017-10-24  9:52     ` Arnd Bergmann
  2017-10-24 10:43       ` Lee Jones
  0 siblings, 1 reply; 10+ messages in thread
From: Arnd Bergmann @ 2017-10-24  9:52 UTC (permalink / raw)
  To: Lee Jones; +Cc: 冯锐, gregkh, Linux Kernel Mailing List, ricky_wu

On Mon, Oct 23, 2017 at 11:35 AM, Lee Jones <lee.jones@linaro.org> wrote:
> On Thu, 19 Oct 2017, Arnd Bergmann wrote:
>
>> On Thu, Oct 19, 2017 at 5:22 AM,  <rui_feng@realsil.com.cn> wrote:
>> > From: Rui Feng <rui_feng@realsil.com.cn>
>> >
>> > Because Realtek PCIE card reader driver is a pcie driver,
>> > and it bridges mmc subsystem and memstick subsystem, it's
>> > not a mfd driver. Greg and Lee Jones had a discussion about
>> > where to put the driver, the result is that misc is a good
>> > place for it, so I move all files to misc. If I don't move
>> > it to a right place, I can't add any patch for this driver.
>> >
>> > Signed-off-by: Rui Feng <rui_feng@realsil.com.cn>
>> > ---
>> >  drivers/memstick/host/rtsx_pci_ms.c      |  2 +-
>> >  drivers/mfd/Kconfig                      | 11 -----------
>> >  drivers/mfd/Makefile                     |  2 --
>> >  drivers/misc/Kconfig                     |  1 +
>> >  drivers/misc/Makefile                    |  1 +
>> >  drivers/misc/realtek/Kconfig             | 10 ++++++++++
>> >  drivers/misc/realtek/Makefile            |  3 +++
>> >  drivers/{mfd => misc/realtek}/rtl8411.c  |  1 -
>> >  drivers/{mfd => misc/realtek}/rts5209.c  |  1 -
>> >  drivers/{mfd => misc/realtek}/rts5227.c  |  1 -
>>
>> Thanks for redoing the patch. If Lee and Greg want to see it moved
>> here, I won't object, but I'd still like to understand the distinction better,
>> since there are likely going to be other drivers in the same situation
>> (either adding into misc or mfd) and it would be good if we can all
>> give consistent advice.
>>
>> Greg, Lee: can you come up with a simple definition of what an
>> MFD is that this driver does not fit into? What about other
>> PCI drivers like intel-lpss-pci and lpc_ich? Are they different
>> from this one or should they also be moved out of MFD?
>
> MFDs drivers don't *do* anything.  They handle shared resources,
> register featureful devices residing in other subsystems and provide
> simple shared functionality pertaining to the chip as a whole.
>
> These card reader devices *are* the featureful drivers and brim with
> useful functionality.
>
> intel-lpss-pci and lpc_ich conform to the aforementioned definition.

Ok. I think we have some other drivers in MFD that fall into similar
categories as rtsx, maybe the db8500 prcmu for instance, but it
does sound like a reasonable definition. If we ever get too many
drivers like rtsx in drivers/misc, we may have to come up with a
new place for them.

For now

Acked-by: Arnd Bergmann <arnd@arndb.de>

to the current patch series.

      Arnd

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] misc: rtsx: Move Realtek Card Reader Driver to misc
  2017-10-24  9:52     ` Arnd Bergmann
@ 2017-10-24 10:43       ` Lee Jones
  2017-10-25  1:09         ` 答复: " 冯锐
  0 siblings, 1 reply; 10+ messages in thread
From: Lee Jones @ 2017-10-24 10:43 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: 冯锐, gregkh, Linux Kernel Mailing List, ricky_wu

On Tue, 24 Oct 2017, Arnd Bergmann wrote:

> On Mon, Oct 23, 2017 at 11:35 AM, Lee Jones <lee.jones@linaro.org> wrote:
> > On Thu, 19 Oct 2017, Arnd Bergmann wrote:
> >
> >> On Thu, Oct 19, 2017 at 5:22 AM,  <rui_feng@realsil.com.cn> wrote:
> >> > From: Rui Feng <rui_feng@realsil.com.cn>
> >> >
> >> > Because Realtek PCIE card reader driver is a pcie driver,
> >> > and it bridges mmc subsystem and memstick subsystem, it's
> >> > not a mfd driver. Greg and Lee Jones had a discussion about
> >> > where to put the driver, the result is that misc is a good
> >> > place for it, so I move all files to misc. If I don't move
> >> > it to a right place, I can't add any patch for this driver.
> >> >
> >> > Signed-off-by: Rui Feng <rui_feng@realsil.com.cn>
> >> > ---
> >> >  drivers/memstick/host/rtsx_pci_ms.c      |  2 +-
> >> >  drivers/mfd/Kconfig                      | 11 -----------
> >> >  drivers/mfd/Makefile                     |  2 --
> >> >  drivers/misc/Kconfig                     |  1 +
> >> >  drivers/misc/Makefile                    |  1 +
> >> >  drivers/misc/realtek/Kconfig             | 10 ++++++++++
> >> >  drivers/misc/realtek/Makefile            |  3 +++
> >> >  drivers/{mfd => misc/realtek}/rtl8411.c  |  1 -
> >> >  drivers/{mfd => misc/realtek}/rts5209.c  |  1 -
> >> >  drivers/{mfd => misc/realtek}/rts5227.c  |  1 -
> >>
> >> Thanks for redoing the patch. If Lee and Greg want to see it moved
> >> here, I won't object, but I'd still like to understand the distinction better,
> >> since there are likely going to be other drivers in the same situation
> >> (either adding into misc or mfd) and it would be good if we can all
> >> give consistent advice.
> >>
> >> Greg, Lee: can you come up with a simple definition of what an
> >> MFD is that this driver does not fit into? What about other
> >> PCI drivers like intel-lpss-pci and lpc_ich? Are they different
> >> from this one or should they also be moved out of MFD?
> >
> > MFDs drivers don't *do* anything.  They handle shared resources,
> > register featureful devices residing in other subsystems and provide
> > simple shared functionality pertaining to the chip as a whole.
> >
> > These card reader devices *are* the featureful drivers and brim with
> > useful functionality.
> >
> > intel-lpss-pci and lpc_ich conform to the aforementioned definition.
> 
> Ok. I think we have some other drivers in MFD that fall into similar
> categories as rtsx, maybe the db8500 prcmu for instance, but it

Yes, the rts drivers should be moved as they do not conform and are
still in active development.  And I agree that there is an argument
for the x8500 set to be considered as platform drivers.  However,
since they are now stable I see no reason to move them unnecessarily.

> does sound like a reasonable definition. If we ever get too many
> drivers like rtsx in drivers/misc, we may have to come up with a
> new place for them.

Agreed.

> For now
> 
> Acked-by: Arnd Bergmann <arnd@arndb.de>

Thanks.

Rui, please add this to your set.

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 10+ messages in thread

* 答复: [PATCH 1/2] misc: rtsx: Move Realtek Card Reader Driver to misc
  2017-10-24 10:43       ` Lee Jones
@ 2017-10-25  1:09         ` 冯锐
  2017-10-25  7:45           ` Lee Jones
  0 siblings, 1 reply; 10+ messages in thread
From: 冯锐 @ 2017-10-25  1:09 UTC (permalink / raw)
  To: Lee Jones, Arnd Bergmann; +Cc: gregkh, Linux Kernel Mailing List, ricky_wu

> On Tue, 24 Oct 2017, Arnd Bergmann wrote:
> 
> > On Mon, Oct 23, 2017 at 11:35 AM, Lee Jones <lee.jones@linaro.org> wrote:
> > > On Thu, 19 Oct 2017, Arnd Bergmann wrote:
> > >
> > >> On Thu, Oct 19, 2017 at 5:22 AM,  <rui_feng@realsil.com.cn> wrote:
> > >> > From: Rui Feng <rui_feng@realsil.com.cn>
> > >> >
> > >> > Because Realtek PCIE card reader driver is a pcie driver, and it
> > >> > bridges mmc subsystem and memstick subsystem, it's not a mfd
> > >> > driver. Greg and Lee Jones had a discussion about where to put
> > >> > the driver, the result is that misc is a good place for it, so I
> > >> > move all files to misc. If I don't move it to a right place, I
> > >> > can't add any patch for this driver.
> > >> >
> > >> > Signed-off-by: Rui Feng <rui_feng@realsil.com.cn>
> > >> > ---
> > >> >  drivers/memstick/host/rtsx_pci_ms.c      |  2 +-
> > >> >  drivers/mfd/Kconfig                      | 11 -----------
> > >> >  drivers/mfd/Makefile                     |  2 --
> > >> >  drivers/misc/Kconfig                     |  1 +
> > >> >  drivers/misc/Makefile                    |  1 +
> > >> >  drivers/misc/realtek/Kconfig             | 10 ++++++++++
> > >> >  drivers/misc/realtek/Makefile            |  3 +++
> > >> >  drivers/{mfd => misc/realtek}/rtl8411.c  |  1 -  drivers/{mfd =>
> > >> > misc/realtek}/rts5209.c  |  1 -  drivers/{mfd =>
> > >> > misc/realtek}/rts5227.c  |  1 -
> > >>
> > >> Thanks for redoing the patch. If Lee and Greg want to see it moved
> > >> here, I won't object, but I'd still like to understand the
> > >> distinction better, since there are likely going to be other
> > >> drivers in the same situation (either adding into misc or mfd) and
> > >> it would be good if we can all give consistent advice.
> > >>
> > >> Greg, Lee: can you come up with a simple definition of what an MFD
> > >> is that this driver does not fit into? What about other PCI drivers
> > >> like intel-lpss-pci and lpc_ich? Are they different from this one
> > >> or should they also be moved out of MFD?
> > >
> > > MFDs drivers don't *do* anything.  They handle shared resources,
> > > register featureful devices residing in other subsystems and provide
> > > simple shared functionality pertaining to the chip as a whole.
> > >
> > > These card reader devices *are* the featureful drivers and brim with
> > > useful functionality.
> > >
> > > intel-lpss-pci and lpc_ich conform to the aforementioned definition.
> >
> > Ok. I think we have some other drivers in MFD that fall into similar
> > categories as rtsx, maybe the db8500 prcmu for instance, but it
> 
> Yes, the rts drivers should be moved as they do not conform and are still in
> active development.  And I agree that there is an argument for the x8500 set
> to be considered as platform drivers.  However, since they are now stable I
> see no reason to move them unnecessarily.
> 
> > does sound like a reasonable definition. If we ever get too many
> > drivers like rtsx in drivers/misc, we may have to come up with a new
> > place for them.
> 
> Agreed.
> 
> > For now
> >
> > Acked-by: Arnd Bergmann <arnd@arndb.de>
> 
> Thanks.
> 
> Rui, please add this to your set.
> 
Do you mean adding " Acked-by: Arnd Bergmann <arnd@arndb.de>" to my set or something else?

> --
> Lee Jones
> Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source
> software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog
> 
> ------Please consider the environment before printing this e-mail.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: 答复: [PATCH 1/2] misc: rtsx: Move Realtek Card Reader Driver to misc
  2017-10-25  1:09         ` 答复: " 冯锐
@ 2017-10-25  7:45           ` Lee Jones
  0 siblings, 0 replies; 10+ messages in thread
From: Lee Jones @ 2017-10-25  7:45 UTC (permalink / raw)
  To: 冯锐
  Cc: Arnd Bergmann, gregkh, Linux Kernel Mailing List, ricky_wu

On Wed, 25 Oct 2017, 冯锐 wrote:

> > On Tue, 24 Oct 2017, Arnd Bergmann wrote:
> > 
> > > On Mon, Oct 23, 2017 at 11:35 AM, Lee Jones <lee.jones@linaro.org> wrote:
> > > > On Thu, 19 Oct 2017, Arnd Bergmann wrote:
> > > >
> > > >> On Thu, Oct 19, 2017 at 5:22 AM,  <rui_feng@realsil.com.cn> wrote:
> > > >> > From: Rui Feng <rui_feng@realsil.com.cn>
> > > >> >
> > > >> > Because Realtek PCIE card reader driver is a pcie driver, and it
> > > >> > bridges mmc subsystem and memstick subsystem, it's not a mfd
> > > >> > driver. Greg and Lee Jones had a discussion about where to put
> > > >> > the driver, the result is that misc is a good place for it, so I
> > > >> > move all files to misc. If I don't move it to a right place, I
> > > >> > can't add any patch for this driver.
> > > >> >
> > > >> > Signed-off-by: Rui Feng <rui_feng@realsil.com.cn>
> > > >> > ---
> > > >> >  drivers/memstick/host/rtsx_pci_ms.c      |  2 +-
> > > >> >  drivers/mfd/Kconfig                      | 11 -----------
> > > >> >  drivers/mfd/Makefile                     |  2 --
> > > >> >  drivers/misc/Kconfig                     |  1 +
> > > >> >  drivers/misc/Makefile                    |  1 +
> > > >> >  drivers/misc/realtek/Kconfig             | 10 ++++++++++
> > > >> >  drivers/misc/realtek/Makefile            |  3 +++
> > > >> >  drivers/{mfd => misc/realtek}/rtl8411.c  |  1 -  drivers/{mfd =>
> > > >> > misc/realtek}/rts5209.c  |  1 -  drivers/{mfd =>
> > > >> > misc/realtek}/rts5227.c  |  1 -
> > > >>
> > > >> Thanks for redoing the patch. If Lee and Greg want to see it moved
> > > >> here, I won't object, but I'd still like to understand the
> > > >> distinction better, since there are likely going to be other
> > > >> drivers in the same situation (either adding into misc or mfd) and
> > > >> it would be good if we can all give consistent advice.
> > > >>
> > > >> Greg, Lee: can you come up with a simple definition of what an MFD
> > > >> is that this driver does not fit into? What about other PCI drivers
> > > >> like intel-lpss-pci and lpc_ich? Are they different from this one
> > > >> or should they also be moved out of MFD?
> > > >
> > > > MFDs drivers don't *do* anything.  They handle shared resources,
> > > > register featureful devices residing in other subsystems and provide
> > > > simple shared functionality pertaining to the chip as a whole.
> > > >
> > > > These card reader devices *are* the featureful drivers and brim with
> > > > useful functionality.
> > > >
> > > > intel-lpss-pci and lpc_ich conform to the aforementioned definition.
> > >
> > > Ok. I think we have some other drivers in MFD that fall into similar
> > > categories as rtsx, maybe the db8500 prcmu for instance, but it
> > 
> > Yes, the rts drivers should be moved as they do not conform and are still in
> > active development.  And I agree that there is an argument for the x8500 set
> > to be considered as platform drivers.  However, since they are now stable I
> > see no reason to move them unnecessarily.
> > 
> > > does sound like a reasonable definition. If we ever get too many
> > > drivers like rtsx in drivers/misc, we may have to come up with a new
> > > place for them.
> > 
> > Agreed.
> > 
> > > For now
> > >
> > > Acked-by: Arnd Bergmann <arnd@arndb.de>
> > 
> > Thanks.
> > 
> > Rui, please add this to your set.
> > 
> Do you mean adding " Acked-by: Arnd Bergmann <arnd@arndb.de>" to my set or something else?

Yes.

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] misc: rtsx: Move Realtek Card Reader Driver to misc
  2017-10-25  8:01 rui_feng
@ 2017-10-25  8:20 ` Lee Jones
  0 siblings, 0 replies; 10+ messages in thread
From: Lee Jones @ 2017-10-25  8:20 UTC (permalink / raw)
  To: rui_feng; +Cc: arnd, gregkh, linux-kernel, ricky_wu

On Wed, 25 Oct 2017, rui_feng@realsil.com.cn wrote:

> From: rui_feng <rui_feng@realsil.com.cn>
> 
> Because Realtek PCIE card reader driver is a pcie driver,
> and it bridges mmc subsystem and memstick subsystem, it's
> not a mfd driver. Greg and Lee Jones had a discussion about
> where to put the driver, the result is that misc is a good
> place for it, so I move all files to misc. If I don't move
> it to a right place, I can't add any patch for this driver.
> 
> Signed-off-by: Rui Feng <rui_feng@realsil.com.cn>
> Acked-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/memstick/host/rtsx_pci_ms.c      |  2 +-
>  drivers/mfd/Kconfig                      | 11 -----------
>  drivers/mfd/Makefile                     |  2 --
>  drivers/misc/Kconfig                     |  1 +
>  drivers/misc/Makefile                    |  1 +
>  drivers/misc/realtek/Kconfig             | 10 ++++++++++
>  drivers/misc/realtek/Makefile            |  3 +++
>  drivers/{mfd => misc/realtek}/rtl8411.c  |  1 -
>  drivers/{mfd => misc/realtek}/rts5209.c  |  1 -
>  drivers/{mfd => misc/realtek}/rts5227.c  |  1 -
>  drivers/{mfd => misc/realtek}/rts5229.c  |  1 -
>  drivers/{mfd => misc/realtek}/rts5249.c  |  2 --
>  drivers/{mfd => misc/realtek}/rtsx_pcr.c |  1 -
>  drivers/{mfd => misc/realtek}/rtsx_pcr.h |  2 +-
>  drivers/mmc/host/rtsx_pci_sdmmc.c        |  2 +-
>  include/linux/{mfd => }/rtsx_common.h    |  0
>  include/linux/{mfd => }/rtsx_pci.h       |  0
>  17 files changed, 18 insertions(+), 23 deletions(-)
>  create mode 100644 drivers/misc/realtek/Kconfig
>  create mode 100644 drivers/misc/realtek/Makefile
>  rename drivers/{mfd => misc/realtek}/rtl8411.c (99%)
>  rename drivers/{mfd => misc/realtek}/rts5209.c (99%)
>  rename drivers/{mfd => misc/realtek}/rts5227.c (99%)
>  rename drivers/{mfd => misc/realtek}/rts5229.c (99%)
>  rename drivers/{mfd => misc/realtek}/rts5249.c (99%)
>  rename drivers/{mfd => misc/realtek}/rtsx_pcr.c (99%)
>  rename drivers/{mfd => misc/realtek}/rtsx_pcr.h (99%)
>  rename include/linux/{mfd => }/rtsx_common.h (100%)
>  rename include/linux/{mfd => }/rtsx_pci.h (100%)
> 
> diff --git a/drivers/memstick/host/rtsx_pci_ms.c b/drivers/memstick/host/rtsx_pci_ms.c
> index 818fa94..a44b457 100644
> --- a/drivers/memstick/host/rtsx_pci_ms.c
> +++ b/drivers/memstick/host/rtsx_pci_ms.c
> @@ -24,7 +24,7 @@
>  #include <linux/delay.h>
>  #include <linux/platform_device.h>
>  #include <linux/memstick.h>
> -#include <linux/mfd/rtsx_pci.h>
> +#include <linux/rtsx_pci.h>
>  #include <asm/unaligned.h>
>  
>  struct realtek_pci_ms {
> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index fc5e4fe..97c0ee5 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -916,17 +916,6 @@ config MFD_RDC321X
>  	  southbridge which provides access to GPIOs and Watchdog using the
>  	  southbridge PCI device configuration space.
>  
> -config MFD_RTSX_PCI
> -	tristate "Realtek PCI-E card reader"
> -	depends on PCI
> -	select MFD_CORE
> -	help
> -	  This supports for Realtek PCI-Express card reader including rts5209,
> -	  rts5227, rts522A, rts5229, rts5249, rts524A, rts525A, rtl8411, etc.
> -	  Realtek card reader supports access to many types of memory cards,
> -	  such as Memory Stick, Memory Stick Pro, Secure Digital and
> -	  MultiMediaCard.
> -
>  config MFD_RT5033
>  	tristate "Richtek RT5033 Power Management IC"
>  	depends on I2C
> diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
> index c3d0a1b..5398aca 100644
> --- a/drivers/mfd/Makefile
> +++ b/drivers/mfd/Makefile
> @@ -18,8 +18,6 @@ obj-$(CONFIG_MFD_CROS_EC_I2C)	+= cros_ec_i2c.o
>  obj-$(CONFIG_MFD_CROS_EC_SPI)	+= cros_ec_spi.o
>  obj-$(CONFIG_MFD_EXYNOS_LPASS)	+= exynos-lpass.o
>  
> -rtsx_pci-objs			:= rtsx_pcr.o rts5209.o rts5229.o rtl8411.o rts5227.o rts5249.o
> -obj-$(CONFIG_MFD_RTSX_PCI)	+= rtsx_pci.o
>  obj-$(CONFIG_MFD_RTSX_USB)	+= rtsx_usb.o

Why have you chosen not to move *all* rtsx drivers?

>  obj-$(CONFIG_HTC_PASIC3)	+= htc-pasic3.o
> diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
> index 8136dc7..5389d62 100644
> --- a/drivers/misc/Kconfig
> +++ b/drivers/misc/Kconfig
> @@ -518,4 +518,5 @@ source "drivers/misc/mic/Kconfig"
>  source "drivers/misc/genwqe/Kconfig"
>  source "drivers/misc/echo/Kconfig"
>  source "drivers/misc/cxl/Kconfig"
> +source "drivers/misc/realtek/Kconfig"

What about:

  source "drivers/misc/cardreader/Kconfig"

a) to make things easier to understand just by looking at the
filesystem hierarchy and b) with a view to perhaps becoming its own
subsystem one day.

>  endmenu
> diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
> index d84819d..1900ca9 100644
> --- a/drivers/misc/Makefile
> +++ b/drivers/misc/Makefile
> @@ -55,6 +55,7 @@ obj-$(CONFIG_CXL_BASE)		+= cxl/
>  obj-$(CONFIG_ASPEED_LPC_CTRL)	+= aspeed-lpc-ctrl.o
>  obj-$(CONFIG_ASPEED_LPC_SNOOP)	+= aspeed-lpc-snoop.o
>  obj-$(CONFIG_PCI_ENDPOINT_TEST)	+= pci_endpoint_test.o
> +obj-$(CONFIG_MFD_RTSX_PCI)	+=realtek/

"MFD" no longer makes sense.  Perhaps:

  CONFIG_MISC_RTSX_PCI
or
  CONFIG_CARDREADER_RTSX_PCI

>  lkdtm-$(CONFIG_LKDTM)		+= lkdtm_core.o
>  lkdtm-$(CONFIG_LKDTM)		+= lkdtm_bugs.o
> diff --git a/drivers/misc/realtek/Kconfig b/drivers/misc/realtek/Kconfig
> new file mode 100644
> index 0000000..10a8f97
> --- /dev/null
> +++ b/drivers/misc/realtek/Kconfig
> @@ -0,0 +1,10 @@
> +config MFD_RTSX_PCI
> +	tristate "Realtek PCI-E card reader"
> +	depends on PCI
> +	select MFD_CORE
> +	help
> +	  This supports for Realtek PCI-Express card reader including rts5209,

"This adds support for Realtek PCI-Express card readers ..."

> +	  rts5227, rts522A, rts5229, rts5249, rts524A, rts525A, rtl8411, etc.

Etc?  Perhaps a definitive list would be better.

> +	  Realtek card reader supports access to many types of memory cards,

"readers support"

> +	  such as Memory Stick, Memory Stick Pro, Secure Digital and
> +	  MultiMediaCard.


> diff --git a/drivers/misc/realtek/Makefile b/drivers/misc/realtek/Makefile
> new file mode 100644
> index 0000000..67c5cf3
> --- /dev/null
> +++ b/drivers/misc/realtek/Makefile
> @@ -0,0 +1,3 @@
> +rtsx_pci-objs := rtsx_pcr.o rts5209.o rts5229.o rtl8411.o rts5227.o rts5249.o
> +
> +obj-$(CONFIG_MFD_RTSX_PCI)	+= rtsx_pci.o
> \ No newline at end of file

?

> diff --git a/drivers/mfd/rtl8411.c b/drivers/misc/realtek/rtl8411.c
> similarity index 99%
> rename from drivers/mfd/rtl8411.c
> rename to drivers/misc/realtek/rtl8411.c
> index b3ae659..aba05ad 100644
> --- a/drivers/mfd/rtl8411.c
> +++ b/drivers/misc/realtek/rtl8411.c
> @@ -23,7 +23,6 @@
>  #include <linux/module.h>
>  #include <linux/bitops.h>
>  #include <linux/delay.h>
> -#include <linux/mfd/rtsx_pci.h>

Didn't you move this to:

<include>/linux/rtsx_pci.h

[...]

> index 7fcf37b..3602356 100644
> --- a/drivers/mfd/rts5249.c
> +++ b/drivers/misc/realtek/rts5249.c
> @@ -21,7 +21,6 @@
>  
>  #include <linux/module.h>
>  #include <linux/delay.h>
> -#include <linux/mfd/rtsx_pci.h>
>  
>  #include "rtsx_pcr.h"
>  
> @@ -738,4 +737,3 @@ void rts525a_init_params(struct rtsx_pcr *pcr)
>  	pcr->reg_pm_ctrl3 = RTS524A_PM_CTRL3;
>  	pcr->ops = &rts525a_pcr_ops;
>  }
> -

?

[...]

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/2] misc: rtsx: Move Realtek Card Reader Driver to misc
@ 2017-10-25  8:16 rui_feng
  0 siblings, 0 replies; 10+ messages in thread
From: rui_feng @ 2017-10-25  8:16 UTC (permalink / raw)
  To: lee.jones, arnd, gregkh; +Cc: linux-kernel, ricky_wu, Rui Feng

From: Rui Feng <rui_feng@realsil.com.cn>

Because Realtek PCIE card reader driver is a pcie driver,
and it bridges mmc subsystem and memstick subsystem, it's
not a mfd driver. Greg and Lee Jones had a discussion about
where to put the driver, the result is that misc is a good
place for it, so I move all files to misc. If I don't move
it to a right place, I can't add any patch for this driver.

Signed-off-by: Rui Feng <rui_feng@realsil.com.cn>
Acked-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/memstick/host/rtsx_pci_ms.c      |  2 +-
 drivers/mfd/Kconfig                      | 11 -----------
 drivers/mfd/Makefile                     |  2 --
 drivers/misc/Kconfig                     |  1 +
 drivers/misc/Makefile                    |  1 +
 drivers/misc/realtek/Kconfig             | 10 ++++++++++
 drivers/misc/realtek/Makefile            |  3 +++
 drivers/{mfd => misc/realtek}/rtl8411.c  |  1 -
 drivers/{mfd => misc/realtek}/rts5209.c  |  1 -
 drivers/{mfd => misc/realtek}/rts5227.c  |  1 -
 drivers/{mfd => misc/realtek}/rts5229.c  |  1 -
 drivers/{mfd => misc/realtek}/rts5249.c  |  2 --
 drivers/{mfd => misc/realtek}/rtsx_pcr.c |  1 -
 drivers/{mfd => misc/realtek}/rtsx_pcr.h |  2 +-
 drivers/mmc/host/rtsx_pci_sdmmc.c        |  2 +-
 include/linux/{mfd => }/rtsx_common.h    |  0
 include/linux/{mfd => }/rtsx_pci.h       |  0
 17 files changed, 18 insertions(+), 23 deletions(-)
 create mode 100644 drivers/misc/realtek/Kconfig
 create mode 100644 drivers/misc/realtek/Makefile
 rename drivers/{mfd => misc/realtek}/rtl8411.c (99%)
 rename drivers/{mfd => misc/realtek}/rts5209.c (99%)
 rename drivers/{mfd => misc/realtek}/rts5227.c (99%)
 rename drivers/{mfd => misc/realtek}/rts5229.c (99%)
 rename drivers/{mfd => misc/realtek}/rts5249.c (99%)
 rename drivers/{mfd => misc/realtek}/rtsx_pcr.c (99%)
 rename drivers/{mfd => misc/realtek}/rtsx_pcr.h (99%)
 rename include/linux/{mfd => }/rtsx_common.h (100%)
 rename include/linux/{mfd => }/rtsx_pci.h (100%)

diff --git a/drivers/memstick/host/rtsx_pci_ms.c b/drivers/memstick/host/rtsx_pci_ms.c
index 818fa94..a44b457 100644
--- a/drivers/memstick/host/rtsx_pci_ms.c
+++ b/drivers/memstick/host/rtsx_pci_ms.c
@@ -24,7 +24,7 @@
 #include <linux/delay.h>
 #include <linux/platform_device.h>
 #include <linux/memstick.h>
-#include <linux/mfd/rtsx_pci.h>
+#include <linux/rtsx_pci.h>
 #include <asm/unaligned.h>
 
 struct realtek_pci_ms {
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index fc5e4fe..97c0ee5 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -916,17 +916,6 @@ config MFD_RDC321X
 	  southbridge which provides access to GPIOs and Watchdog using the
 	  southbridge PCI device configuration space.
 
-config MFD_RTSX_PCI
-	tristate "Realtek PCI-E card reader"
-	depends on PCI
-	select MFD_CORE
-	help
-	  This supports for Realtek PCI-Express card reader including rts5209,
-	  rts5227, rts522A, rts5229, rts5249, rts524A, rts525A, rtl8411, etc.
-	  Realtek card reader supports access to many types of memory cards,
-	  such as Memory Stick, Memory Stick Pro, Secure Digital and
-	  MultiMediaCard.
-
 config MFD_RT5033
 	tristate "Richtek RT5033 Power Management IC"
 	depends on I2C
diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
index c3d0a1b..5398aca 100644
--- a/drivers/mfd/Makefile
+++ b/drivers/mfd/Makefile
@@ -18,8 +18,6 @@ obj-$(CONFIG_MFD_CROS_EC_I2C)	+= cros_ec_i2c.o
 obj-$(CONFIG_MFD_CROS_EC_SPI)	+= cros_ec_spi.o
 obj-$(CONFIG_MFD_EXYNOS_LPASS)	+= exynos-lpass.o
 
-rtsx_pci-objs			:= rtsx_pcr.o rts5209.o rts5229.o rtl8411.o rts5227.o rts5249.o
-obj-$(CONFIG_MFD_RTSX_PCI)	+= rtsx_pci.o
 obj-$(CONFIG_MFD_RTSX_USB)	+= rtsx_usb.o
 
 obj-$(CONFIG_HTC_PASIC3)	+= htc-pasic3.o
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index 8136dc7..5389d62 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -518,4 +518,5 @@ source "drivers/misc/mic/Kconfig"
 source "drivers/misc/genwqe/Kconfig"
 source "drivers/misc/echo/Kconfig"
 source "drivers/misc/cxl/Kconfig"
+source "drivers/misc/realtek/Kconfig"
 endmenu
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index d84819d..1900ca9 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -55,6 +55,7 @@ obj-$(CONFIG_CXL_BASE)		+= cxl/
 obj-$(CONFIG_ASPEED_LPC_CTRL)	+= aspeed-lpc-ctrl.o
 obj-$(CONFIG_ASPEED_LPC_SNOOP)	+= aspeed-lpc-snoop.o
 obj-$(CONFIG_PCI_ENDPOINT_TEST)	+= pci_endpoint_test.o
+obj-$(CONFIG_MFD_RTSX_PCI)	+=realtek/
 
 lkdtm-$(CONFIG_LKDTM)		+= lkdtm_core.o
 lkdtm-$(CONFIG_LKDTM)		+= lkdtm_bugs.o
diff --git a/drivers/misc/realtek/Kconfig b/drivers/misc/realtek/Kconfig
new file mode 100644
index 0000000..10a8f97
--- /dev/null
+++ b/drivers/misc/realtek/Kconfig
@@ -0,0 +1,10 @@
+config MFD_RTSX_PCI
+	tristate "Realtek PCI-E card reader"
+	depends on PCI
+	select MFD_CORE
+	help
+	  This supports for Realtek PCI-Express card reader including rts5209,
+	  rts5227, rts522A, rts5229, rts5249, rts524A, rts525A, rtl8411, etc.
+	  Realtek card reader supports access to many types of memory cards,
+	  such as Memory Stick, Memory Stick Pro, Secure Digital and
+	  MultiMediaCard.
diff --git a/drivers/misc/realtek/Makefile b/drivers/misc/realtek/Makefile
new file mode 100644
index 0000000..67c5cf3
--- /dev/null
+++ b/drivers/misc/realtek/Makefile
@@ -0,0 +1,3 @@
+rtsx_pci-objs := rtsx_pcr.o rts5209.o rts5229.o rtl8411.o rts5227.o rts5249.o
+
+obj-$(CONFIG_MFD_RTSX_PCI)	+= rtsx_pci.o
\ No newline at end of file
diff --git a/drivers/mfd/rtl8411.c b/drivers/misc/realtek/rtl8411.c
similarity index 99%
rename from drivers/mfd/rtl8411.c
rename to drivers/misc/realtek/rtl8411.c
index b3ae659..aba05ad 100644
--- a/drivers/mfd/rtl8411.c
+++ b/drivers/misc/realtek/rtl8411.c
@@ -23,7 +23,6 @@
 #include <linux/module.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
-#include <linux/mfd/rtsx_pci.h>
 
 #include "rtsx_pcr.h"
 
diff --git a/drivers/mfd/rts5209.c b/drivers/misc/realtek/rts5209.c
similarity index 99%
rename from drivers/mfd/rts5209.c
rename to drivers/misc/realtek/rts5209.c
index b95beec..6f1dd13 100644
--- a/drivers/mfd/rts5209.c
+++ b/drivers/misc/realtek/rts5209.c
@@ -21,7 +21,6 @@
 
 #include <linux/module.h>
 #include <linux/delay.h>
-#include <linux/mfd/rtsx_pci.h>
 
 #include "rtsx_pcr.h"
 
diff --git a/drivers/mfd/rts5227.c b/drivers/misc/realtek/rts5227.c
similarity index 99%
rename from drivers/mfd/rts5227.c
rename to drivers/misc/realtek/rts5227.c
index ff296a4..0f2faab 100644
--- a/drivers/mfd/rts5227.c
+++ b/drivers/misc/realtek/rts5227.c
@@ -22,7 +22,6 @@
 
 #include <linux/module.h>
 #include <linux/delay.h>
-#include <linux/mfd/rtsx_pci.h>
 
 #include "rtsx_pcr.h"
 
diff --git a/drivers/mfd/rts5229.c b/drivers/misc/realtek/rts5229.c
similarity index 99%
rename from drivers/mfd/rts5229.c
rename to drivers/misc/realtek/rts5229.c
index 9ed9dc8..4e39262 100644
--- a/drivers/mfd/rts5229.c
+++ b/drivers/misc/realtek/rts5229.c
@@ -21,7 +21,6 @@
 
 #include <linux/module.h>
 #include <linux/delay.h>
-#include <linux/mfd/rtsx_pci.h>
 
 #include "rtsx_pcr.h"
 
diff --git a/drivers/mfd/rts5249.c b/drivers/misc/realtek/rts5249.c
similarity index 99%
rename from drivers/mfd/rts5249.c
rename to drivers/misc/realtek/rts5249.c
index 7fcf37b..3602356 100644
--- a/drivers/mfd/rts5249.c
+++ b/drivers/misc/realtek/rts5249.c
@@ -21,7 +21,6 @@
 
 #include <linux/module.h>
 #include <linux/delay.h>
-#include <linux/mfd/rtsx_pci.h>
 
 #include "rtsx_pcr.h"
 
@@ -738,4 +737,3 @@ void rts525a_init_params(struct rtsx_pcr *pcr)
 	pcr->reg_pm_ctrl3 = RTS524A_PM_CTRL3;
 	pcr->ops = &rts525a_pcr_ops;
 }
-
diff --git a/drivers/mfd/rtsx_pcr.c b/drivers/misc/realtek/rtsx_pcr.c
similarity index 99%
rename from drivers/mfd/rtsx_pcr.c
rename to drivers/misc/realtek/rtsx_pcr.c
index 590fb9a..5d4fdd9 100644
--- a/drivers/mfd/rtsx_pcr.c
+++ b/drivers/misc/realtek/rtsx_pcr.c
@@ -29,7 +29,6 @@
 #include <linux/idr.h>
 #include <linux/platform_device.h>
 #include <linux/mfd/core.h>
-#include <linux/mfd/rtsx_pci.h>
 #include <linux/mmc/card.h>
 #include <asm/unaligned.h>
 
diff --git a/drivers/mfd/rtsx_pcr.h b/drivers/misc/realtek/rtsx_pcr.h
similarity index 99%
rename from drivers/mfd/rtsx_pcr.h
rename to drivers/misc/realtek/rtsx_pcr.h
index ec784e0..b0691c9 100644
--- a/drivers/mfd/rtsx_pcr.h
+++ b/drivers/misc/realtek/rtsx_pcr.h
@@ -22,7 +22,7 @@
 #ifndef __RTSX_PCR_H
 #define __RTSX_PCR_H
 
-#include <linux/mfd/rtsx_pci.h>
+#include <linux/rtsx_pci.h>
 
 #define MIN_DIV_N_PCR		80
 #define MAX_DIV_N_PCR		208
diff --git a/drivers/mmc/host/rtsx_pci_sdmmc.c b/drivers/mmc/host/rtsx_pci_sdmmc.c
index 0848dc0..30bd808 100644
--- a/drivers/mmc/host/rtsx_pci_sdmmc.c
+++ b/drivers/mmc/host/rtsx_pci_sdmmc.c
@@ -30,7 +30,7 @@
 #include <linux/mmc/sd.h>
 #include <linux/mmc/sdio.h>
 #include <linux/mmc/card.h>
-#include <linux/mfd/rtsx_pci.h>
+#include <linux/rtsx_pci.h>
 #include <asm/unaligned.h>
 
 struct realtek_pci_sdmmc {
diff --git a/include/linux/mfd/rtsx_common.h b/include/linux/rtsx_common.h
similarity index 100%
rename from include/linux/mfd/rtsx_common.h
rename to include/linux/rtsx_common.h
diff --git a/include/linux/mfd/rtsx_pci.h b/include/linux/rtsx_pci.h
similarity index 100%
rename from include/linux/mfd/rtsx_pci.h
rename to include/linux/rtsx_pci.h
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 1/2] misc: rtsx: Move Realtek Card Reader Driver to misc
@ 2017-10-25  8:01 rui_feng
  2017-10-25  8:20 ` Lee Jones
  0 siblings, 1 reply; 10+ messages in thread
From: rui_feng @ 2017-10-25  8:01 UTC (permalink / raw)
  To: lee.jones, arnd, gregkh; +Cc: linux-kernel, ricky_wu, rui_feng

From: rui_feng <rui_feng@realsil.com.cn>

Because Realtek PCIE card reader driver is a pcie driver,
and it bridges mmc subsystem and memstick subsystem, it's
not a mfd driver. Greg and Lee Jones had a discussion about
where to put the driver, the result is that misc is a good
place for it, so I move all files to misc. If I don't move
it to a right place, I can't add any patch for this driver.

Signed-off-by: Rui Feng <rui_feng@realsil.com.cn>
Acked-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/memstick/host/rtsx_pci_ms.c      |  2 +-
 drivers/mfd/Kconfig                      | 11 -----------
 drivers/mfd/Makefile                     |  2 --
 drivers/misc/Kconfig                     |  1 +
 drivers/misc/Makefile                    |  1 +
 drivers/misc/realtek/Kconfig             | 10 ++++++++++
 drivers/misc/realtek/Makefile            |  3 +++
 drivers/{mfd => misc/realtek}/rtl8411.c  |  1 -
 drivers/{mfd => misc/realtek}/rts5209.c  |  1 -
 drivers/{mfd => misc/realtek}/rts5227.c  |  1 -
 drivers/{mfd => misc/realtek}/rts5229.c  |  1 -
 drivers/{mfd => misc/realtek}/rts5249.c  |  2 --
 drivers/{mfd => misc/realtek}/rtsx_pcr.c |  1 -
 drivers/{mfd => misc/realtek}/rtsx_pcr.h |  2 +-
 drivers/mmc/host/rtsx_pci_sdmmc.c        |  2 +-
 include/linux/{mfd => }/rtsx_common.h    |  0
 include/linux/{mfd => }/rtsx_pci.h       |  0
 17 files changed, 18 insertions(+), 23 deletions(-)
 create mode 100644 drivers/misc/realtek/Kconfig
 create mode 100644 drivers/misc/realtek/Makefile
 rename drivers/{mfd => misc/realtek}/rtl8411.c (99%)
 rename drivers/{mfd => misc/realtek}/rts5209.c (99%)
 rename drivers/{mfd => misc/realtek}/rts5227.c (99%)
 rename drivers/{mfd => misc/realtek}/rts5229.c (99%)
 rename drivers/{mfd => misc/realtek}/rts5249.c (99%)
 rename drivers/{mfd => misc/realtek}/rtsx_pcr.c (99%)
 rename drivers/{mfd => misc/realtek}/rtsx_pcr.h (99%)
 rename include/linux/{mfd => }/rtsx_common.h (100%)
 rename include/linux/{mfd => }/rtsx_pci.h (100%)

diff --git a/drivers/memstick/host/rtsx_pci_ms.c b/drivers/memstick/host/rtsx_pci_ms.c
index 818fa94..a44b457 100644
--- a/drivers/memstick/host/rtsx_pci_ms.c
+++ b/drivers/memstick/host/rtsx_pci_ms.c
@@ -24,7 +24,7 @@
 #include <linux/delay.h>
 #include <linux/platform_device.h>
 #include <linux/memstick.h>
-#include <linux/mfd/rtsx_pci.h>
+#include <linux/rtsx_pci.h>
 #include <asm/unaligned.h>
 
 struct realtek_pci_ms {
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index fc5e4fe..97c0ee5 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -916,17 +916,6 @@ config MFD_RDC321X
 	  southbridge which provides access to GPIOs and Watchdog using the
 	  southbridge PCI device configuration space.
 
-config MFD_RTSX_PCI
-	tristate "Realtek PCI-E card reader"
-	depends on PCI
-	select MFD_CORE
-	help
-	  This supports for Realtek PCI-Express card reader including rts5209,
-	  rts5227, rts522A, rts5229, rts5249, rts524A, rts525A, rtl8411, etc.
-	  Realtek card reader supports access to many types of memory cards,
-	  such as Memory Stick, Memory Stick Pro, Secure Digital and
-	  MultiMediaCard.
-
 config MFD_RT5033
 	tristate "Richtek RT5033 Power Management IC"
 	depends on I2C
diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
index c3d0a1b..5398aca 100644
--- a/drivers/mfd/Makefile
+++ b/drivers/mfd/Makefile
@@ -18,8 +18,6 @@ obj-$(CONFIG_MFD_CROS_EC_I2C)	+= cros_ec_i2c.o
 obj-$(CONFIG_MFD_CROS_EC_SPI)	+= cros_ec_spi.o
 obj-$(CONFIG_MFD_EXYNOS_LPASS)	+= exynos-lpass.o
 
-rtsx_pci-objs			:= rtsx_pcr.o rts5209.o rts5229.o rtl8411.o rts5227.o rts5249.o
-obj-$(CONFIG_MFD_RTSX_PCI)	+= rtsx_pci.o
 obj-$(CONFIG_MFD_RTSX_USB)	+= rtsx_usb.o
 
 obj-$(CONFIG_HTC_PASIC3)	+= htc-pasic3.o
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index 8136dc7..5389d62 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -518,4 +518,5 @@ source "drivers/misc/mic/Kconfig"
 source "drivers/misc/genwqe/Kconfig"
 source "drivers/misc/echo/Kconfig"
 source "drivers/misc/cxl/Kconfig"
+source "drivers/misc/realtek/Kconfig"
 endmenu
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index d84819d..1900ca9 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -55,6 +55,7 @@ obj-$(CONFIG_CXL_BASE)		+= cxl/
 obj-$(CONFIG_ASPEED_LPC_CTRL)	+= aspeed-lpc-ctrl.o
 obj-$(CONFIG_ASPEED_LPC_SNOOP)	+= aspeed-lpc-snoop.o
 obj-$(CONFIG_PCI_ENDPOINT_TEST)	+= pci_endpoint_test.o
+obj-$(CONFIG_MFD_RTSX_PCI)	+=realtek/
 
 lkdtm-$(CONFIG_LKDTM)		+= lkdtm_core.o
 lkdtm-$(CONFIG_LKDTM)		+= lkdtm_bugs.o
diff --git a/drivers/misc/realtek/Kconfig b/drivers/misc/realtek/Kconfig
new file mode 100644
index 0000000..10a8f97
--- /dev/null
+++ b/drivers/misc/realtek/Kconfig
@@ -0,0 +1,10 @@
+config MFD_RTSX_PCI
+	tristate "Realtek PCI-E card reader"
+	depends on PCI
+	select MFD_CORE
+	help
+	  This supports for Realtek PCI-Express card reader including rts5209,
+	  rts5227, rts522A, rts5229, rts5249, rts524A, rts525A, rtl8411, etc.
+	  Realtek card reader supports access to many types of memory cards,
+	  such as Memory Stick, Memory Stick Pro, Secure Digital and
+	  MultiMediaCard.
diff --git a/drivers/misc/realtek/Makefile b/drivers/misc/realtek/Makefile
new file mode 100644
index 0000000..67c5cf3
--- /dev/null
+++ b/drivers/misc/realtek/Makefile
@@ -0,0 +1,3 @@
+rtsx_pci-objs := rtsx_pcr.o rts5209.o rts5229.o rtl8411.o rts5227.o rts5249.o
+
+obj-$(CONFIG_MFD_RTSX_PCI)	+= rtsx_pci.o
\ No newline at end of file
diff --git a/drivers/mfd/rtl8411.c b/drivers/misc/realtek/rtl8411.c
similarity index 99%
rename from drivers/mfd/rtl8411.c
rename to drivers/misc/realtek/rtl8411.c
index b3ae659..aba05ad 100644
--- a/drivers/mfd/rtl8411.c
+++ b/drivers/misc/realtek/rtl8411.c
@@ -23,7 +23,6 @@
 #include <linux/module.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
-#include <linux/mfd/rtsx_pci.h>
 
 #include "rtsx_pcr.h"
 
diff --git a/drivers/mfd/rts5209.c b/drivers/misc/realtek/rts5209.c
similarity index 99%
rename from drivers/mfd/rts5209.c
rename to drivers/misc/realtek/rts5209.c
index b95beec..6f1dd13 100644
--- a/drivers/mfd/rts5209.c
+++ b/drivers/misc/realtek/rts5209.c
@@ -21,7 +21,6 @@
 
 #include <linux/module.h>
 #include <linux/delay.h>
-#include <linux/mfd/rtsx_pci.h>
 
 #include "rtsx_pcr.h"
 
diff --git a/drivers/mfd/rts5227.c b/drivers/misc/realtek/rts5227.c
similarity index 99%
rename from drivers/mfd/rts5227.c
rename to drivers/misc/realtek/rts5227.c
index ff296a4..0f2faab 100644
--- a/drivers/mfd/rts5227.c
+++ b/drivers/misc/realtek/rts5227.c
@@ -22,7 +22,6 @@
 
 #include <linux/module.h>
 #include <linux/delay.h>
-#include <linux/mfd/rtsx_pci.h>
 
 #include "rtsx_pcr.h"
 
diff --git a/drivers/mfd/rts5229.c b/drivers/misc/realtek/rts5229.c
similarity index 99%
rename from drivers/mfd/rts5229.c
rename to drivers/misc/realtek/rts5229.c
index 9ed9dc8..4e39262 100644
--- a/drivers/mfd/rts5229.c
+++ b/drivers/misc/realtek/rts5229.c
@@ -21,7 +21,6 @@
 
 #include <linux/module.h>
 #include <linux/delay.h>
-#include <linux/mfd/rtsx_pci.h>
 
 #include "rtsx_pcr.h"
 
diff --git a/drivers/mfd/rts5249.c b/drivers/misc/realtek/rts5249.c
similarity index 99%
rename from drivers/mfd/rts5249.c
rename to drivers/misc/realtek/rts5249.c
index 7fcf37b..3602356 100644
--- a/drivers/mfd/rts5249.c
+++ b/drivers/misc/realtek/rts5249.c
@@ -21,7 +21,6 @@
 
 #include <linux/module.h>
 #include <linux/delay.h>
-#include <linux/mfd/rtsx_pci.h>
 
 #include "rtsx_pcr.h"
 
@@ -738,4 +737,3 @@ void rts525a_init_params(struct rtsx_pcr *pcr)
 	pcr->reg_pm_ctrl3 = RTS524A_PM_CTRL3;
 	pcr->ops = &rts525a_pcr_ops;
 }
-
diff --git a/drivers/mfd/rtsx_pcr.c b/drivers/misc/realtek/rtsx_pcr.c
similarity index 99%
rename from drivers/mfd/rtsx_pcr.c
rename to drivers/misc/realtek/rtsx_pcr.c
index 590fb9a..5d4fdd9 100644
--- a/drivers/mfd/rtsx_pcr.c
+++ b/drivers/misc/realtek/rtsx_pcr.c
@@ -29,7 +29,6 @@
 #include <linux/idr.h>
 #include <linux/platform_device.h>
 #include <linux/mfd/core.h>
-#include <linux/mfd/rtsx_pci.h>
 #include <linux/mmc/card.h>
 #include <asm/unaligned.h>
 
diff --git a/drivers/mfd/rtsx_pcr.h b/drivers/misc/realtek/rtsx_pcr.h
similarity index 99%
rename from drivers/mfd/rtsx_pcr.h
rename to drivers/misc/realtek/rtsx_pcr.h
index ec784e0..b0691c9 100644
--- a/drivers/mfd/rtsx_pcr.h
+++ b/drivers/misc/realtek/rtsx_pcr.h
@@ -22,7 +22,7 @@
 #ifndef __RTSX_PCR_H
 #define __RTSX_PCR_H
 
-#include <linux/mfd/rtsx_pci.h>
+#include <linux/rtsx_pci.h>
 
 #define MIN_DIV_N_PCR		80
 #define MAX_DIV_N_PCR		208
diff --git a/drivers/mmc/host/rtsx_pci_sdmmc.c b/drivers/mmc/host/rtsx_pci_sdmmc.c
index 0848dc0..30bd808 100644
--- a/drivers/mmc/host/rtsx_pci_sdmmc.c
+++ b/drivers/mmc/host/rtsx_pci_sdmmc.c
@@ -30,7 +30,7 @@
 #include <linux/mmc/sd.h>
 #include <linux/mmc/sdio.h>
 #include <linux/mmc/card.h>
-#include <linux/mfd/rtsx_pci.h>
+#include <linux/rtsx_pci.h>
 #include <asm/unaligned.h>
 
 struct realtek_pci_sdmmc {
diff --git a/include/linux/mfd/rtsx_common.h b/include/linux/rtsx_common.h
similarity index 100%
rename from include/linux/mfd/rtsx_common.h
rename to include/linux/rtsx_common.h
diff --git a/include/linux/mfd/rtsx_pci.h b/include/linux/rtsx_pci.h
similarity index 100%
rename from include/linux/mfd/rtsx_pci.h
rename to include/linux/rtsx_pci.h
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2017-10-25  8:20 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-19  3:22 [PATCH 1/2] misc: rtsx: Move Realtek Card Reader Driver to misc rui_feng
2017-10-19  7:10 ` Arnd Bergmann
2017-10-23  9:35   ` Lee Jones
2017-10-24  9:52     ` Arnd Bergmann
2017-10-24 10:43       ` Lee Jones
2017-10-25  1:09         ` 答复: " 冯锐
2017-10-25  7:45           ` Lee Jones
2017-10-25  8:01 rui_feng
2017-10-25  8:20 ` Lee Jones
2017-10-25  8:16 rui_feng

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.