All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
@ 2012-01-04 20:01 Paul Gortmaker
  2012-01-04 20:34 ` Jiri Slaby
  2012-01-04 22:01 ` Alan Cox
  0 siblings, 2 replies; 21+ messages in thread
From: Paul Gortmaker @ 2012-01-04 20:01 UTC (permalink / raw)
  To: alan, gregkh; +Cc: linux-serial, linux-kernel

The commit ab4382d27412e7e3e7c936e8d50d8888dfac3df8,

   "tty: move drivers/serial/ to drivers/tty/serial/"

put most of the serial drivers together in one place, but the ones
that were hiding in drivers/char didn't get picked up in that change.

They did get moved in commit a6afd9f3e819de4795fcd356e5bfad446e4323f2

   "tty: move a number of tty drivers from drivers/char/ to drivers/tty/"

but there was no distinction of serial vs. non-serial in the above.

Here we take the remaining serial drivers (mostly legacy multiport
drivers) and put them alongside all the others in tty/serial/ dir.

We can drop SERIAL_NONSTANDARD's dependency on HAS_IOMEM, since the
encompassing menu block already has that dependency called out.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 drivers/tty/Kconfig                    |  129 --------------------------------
 drivers/tty/Makefile                   |    9 --
 drivers/tty/serial/Kconfig             |  128 +++++++++++++++++++++++++++++++
 drivers/tty/serial/Makefile            |   11 +++
 drivers/tty/{ => serial}/amiserial.c   |    0
 drivers/tty/{ => serial}/cyclades.c    |    0
 drivers/tty/{ => serial}/isicom.c      |    0
 drivers/tty/{ => serial}/moxa.c        |    0
 drivers/tty/{ => serial}/moxa.h        |    0
 drivers/tty/{ => serial}/mxser.c       |    0
 drivers/tty/{ => serial}/mxser.h       |    0
 drivers/tty/{ => serial}/rocket.c      |    0
 drivers/tty/{ => serial}/rocket.h      |    0
 drivers/tty/{ => serial}/rocket_int.h  |    0
 drivers/tty/{ => serial}/synclink.c    |    0
 drivers/tty/{ => serial}/synclink_gt.c |    0
 drivers/tty/{ => serial}/synclinkmp.c  |    0
 17 files changed, 139 insertions(+), 138 deletions(-)
 rename drivers/tty/{ => serial}/amiserial.c (100%)
 rename drivers/tty/{ => serial}/cyclades.c (100%)
 rename drivers/tty/{ => serial}/isicom.c (100%)
 rename drivers/tty/{ => serial}/moxa.c (100%)
 rename drivers/tty/{ => serial}/moxa.h (100%)
 rename drivers/tty/{ => serial}/mxser.c (100%)
 rename drivers/tty/{ => serial}/mxser.h (100%)
 rename drivers/tty/{ => serial}/rocket.c (100%)
 rename drivers/tty/{ => serial}/rocket.h (100%)
 rename drivers/tty/{ => serial}/rocket_int.h (100%)
 rename drivers/tty/{ => serial}/synclink.c (100%)
 rename drivers/tty/{ => serial}/synclink_gt.c (100%)
 rename drivers/tty/{ => serial}/synclinkmp.c (100%)

diff --git a/drivers/tty/Kconfig b/drivers/tty/Kconfig
index b3d1741..fe9bf59 100644
--- a/drivers/tty/Kconfig
+++ b/drivers/tty/Kconfig
@@ -164,125 +164,6 @@ config BFIN_JTAG_COMM_CONSOLE
 	bool "Console on Blackfin JTAG"
 	depends on BFIN_JTAG_COMM=y
 
-config SERIAL_NONSTANDARD
-	bool "Non-standard serial port support"
-	depends on HAS_IOMEM
-	---help---
-	  Say Y here if you have any non-standard serial boards -- boards
-	  which aren't supported using the standard "dumb" serial driver.
-	  This includes intelligent serial boards such as Cyclades,
-	  Digiboards, etc. These are usually used for systems that need many
-	  serial ports because they serve many terminals or dial-in
-	  connections.
-
-	  Note that the answer to this question won't directly affect the
-	  kernel: saying N will just cause the configurator to skip all
-	  the questions about non-standard serial boards.
-
-	  Most people can say N here.
-
-config ROCKETPORT
-	tristate "Comtrol RocketPort support"
-	depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
-	help
-	  This driver supports Comtrol RocketPort and RocketModem PCI boards.   
-          These boards provide 2, 4, 8, 16, or 32 high-speed serial ports or
-          modems.  For information about the RocketPort/RocketModem  boards
-          and this driver read <file:Documentation/serial/rocket.txt>.
-
-	  To compile this driver as a module, choose M here: the
-	  module will be called rocket.
-
-	  If you want to compile this driver into the kernel, say Y here.  If
-          you don't have a Comtrol RocketPort/RocketModem card installed, say N.
-
-config CYCLADES
-	tristate "Cyclades async mux support"
-	depends on SERIAL_NONSTANDARD && (PCI || ISA)
-	select FW_LOADER
-	---help---
-	  This driver supports Cyclades Z and Y multiserial boards.
-	  You would need something like this to connect more than two modems to
-	  your Linux box, for instance in order to become a dial-in server.
-
-	  For information about the Cyclades-Z card, read
-	  <file:Documentation/serial/README.cycladesZ>.
-
-	  To compile this driver as a module, choose M here: the
-	  module will be called cyclades.
-
-	  If you haven't heard about it, it's safe to say N.
-
-config CYZ_INTR
-	bool "Cyclades-Z interrupt mode operation (EXPERIMENTAL)"
-	depends on EXPERIMENTAL && CYCLADES
-	help
-	  The Cyclades-Z family of multiport cards allows 2 (two) driver op
-	  modes: polling and interrupt. In polling mode, the driver will check
-	  the status of the Cyclades-Z ports every certain amount of time
-	  (which is called polling cycle and is configurable). In interrupt
-	  mode, it will use an interrupt line (IRQ) in order to check the
-	  status of the Cyclades-Z ports. The default op mode is polling. If
-	  unsure, say N.
-
-config MOXA_INTELLIO
-	tristate "Moxa Intellio support"
-	depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
-	select FW_LOADER
-	help
-	  Say Y here if you have a Moxa Intellio multiport serial card.
-
-	  To compile this driver as a module, choose M here: the
-	  module will be called moxa.
-
-config MOXA_SMARTIO
-	tristate "Moxa SmartIO support v. 2.0"
-	depends on SERIAL_NONSTANDARD && (PCI || EISA || ISA)
-	help
-	  Say Y here if you have a Moxa SmartIO multiport serial card and/or
-	  want to help develop a new version of this driver.
-
-	  This is upgraded (1.9.1) driver from original Moxa drivers with
-	  changes finally resulting in PCI probing.
-
-	  This driver can also be built as a module. The module will be called
-	  mxser. If you want to do that, say M here.
-
-config SYNCLINK
-	tristate "Microgate SyncLink card support"
-	depends on SERIAL_NONSTANDARD && PCI && ISA_DMA_API
-	help
-	  Provides support for the SyncLink ISA and PCI multiprotocol serial
-	  adapters. These adapters support asynchronous and HDLC bit
-	  synchronous communication up to 10Mbps (PCI adapter).
-
-	  This driver can only be built as a module ( = code which can be
-	  inserted in and removed from the running kernel whenever you want).
-	  The module will be called synclink.  If you want to do that, say M
-	  here.
-
-config SYNCLINKMP
-	tristate "SyncLink Multiport support"
-	depends on SERIAL_NONSTANDARD && PCI
-	help
-	  Enable support for the SyncLink Multiport (2 or 4 ports)
-	  serial adapter, running asynchronous and HDLC communications up
-	  to 2.048Mbps. Each ports is independently selectable for
-	  RS-232, V.35, RS-449, RS-530, and X.21
-
-	  This driver may be built as a module ( = code which can be
-	  inserted in and removed from the running kernel whenever you want).
-	  The module will be called synclinkmp.  If you want to do that, say M
-	  here.
-
-config SYNCLINK_GT
-	tristate "SyncLink GT/AC support"
-	depends on SERIAL_NONSTANDARD && PCI
-	help
-	  Support for SyncLink GT and SyncLink AC families of
-	  synchronous and asynchronous serial adapters
-	  manufactured by Microgate Systems, Ltd. (www.microgate.com)
-
 config NOZOMI
 	tristate "HSDPA Broadband Wireless Data Card - Globe Trotter"
 	depends on PCI && EXPERIMENTAL
@@ -293,16 +174,6 @@ config NOZOMI
 	  To compile this driver as a module, choose M here, the module
 	  will be called nozomi.
 
-config ISI
-	tristate "Multi-Tech multiport card support (EXPERIMENTAL)"
-	depends on SERIAL_NONSTANDARD && PCI
-	select FW_LOADER
-	help
-	  This is a driver for the Multi-Tech cards which provide several
-	  serial ports.  The driver is experimental and can currently only be
-	  built as a module. The module will be called isicom.
-	  If you want to do that, choose M here.
-
 config N_HDLC
 	tristate "HDLC line discipline support"
 	depends on SERIAL_NONSTANDARD
diff --git a/drivers/tty/Makefile b/drivers/tty/Makefile
index 2953059..b5ce64b 100644
--- a/drivers/tty/Makefile
+++ b/drivers/tty/Makefile
@@ -15,17 +15,8 @@ obj-$(CONFIG_HVC_DRIVER)	+= hvc/
 obj-y				+= serial/
 
 # tty drivers
-obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o
 obj-$(CONFIG_BFIN_JTAG_COMM)	+= bfin_jtag_comm.o
-obj-$(CONFIG_CYCLADES)		+= cyclades.o
-obj-$(CONFIG_ISI)		+= isicom.o
-obj-$(CONFIG_MOXA_INTELLIO)	+= moxa.o
-obj-$(CONFIG_MOXA_SMARTIO)	+= mxser.o
 obj-$(CONFIG_NOZOMI)		+= nozomi.o
-obj-$(CONFIG_ROCKETPORT)	+= rocket.o
-obj-$(CONFIG_SYNCLINK_GT)	+= synclink_gt.o
-obj-$(CONFIG_SYNCLINKMP)	+= synclinkmp.o
-obj-$(CONFIG_SYNCLINK)		+= synclink.o
 obj-$(CONFIG_PPC_EPAPR_HV_BYTECHAN) += ehv_bytechan.o
 
 obj-y += ipwireless/
diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index 925a1e5..ab117ad 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -1610,4 +1610,132 @@ config SERIAL_XILINX_PS_UART_CONSOLE
 	help
 	  Enable a Xilinx PS UART port to be the system console.
 
+config SERIAL_NONSTANDARD
+	bool "Non-standard serial port support"
+	---help---
+	  Say Y here if you have any non-standard serial boards -- boards
+	  which aren't supported using the standard "dumb" serial driver.
+	  This includes intelligent serial boards such as Cyclades,
+	  Digiboards, etc. These are usually used for systems that need many
+	  serial ports because they serve many terminals or dial-in
+	  connections.
+
+	  Note that the answer to this question won't directly affect the
+	  kernel: saying N will just cause the configurator to skip all
+	  the questions about non-standard serial boards.
+
+	  Most people can say N here.
+
+config ROCKETPORT
+	tristate "Comtrol RocketPort support"
+	depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
+	help
+	  This driver supports Comtrol RocketPort and RocketModem PCI boards.
+          These boards provide 2, 4, 8, 16, or 32 high-speed serial ports or
+          modems.  For information about the RocketPort/RocketModem  boards
+          and this driver read <file:Documentation/serial/rocket.txt>.
+
+	  To compile this driver as a module, choose M here: the
+	  module will be called rocket.
+
+	  If you want to compile this driver into the kernel, say Y here.  If
+          you don't have a Comtrol RocketPort/RocketModem card installed, say N.
+
+config CYCLADES
+	tristate "Cyclades async mux support"
+	depends on SERIAL_NONSTANDARD && (PCI || ISA)
+	select FW_LOADER
+	---help---
+	  This driver supports Cyclades Z and Y multiserial boards.
+	  You would need something like this to connect more than two modems to
+	  your Linux box, for instance in order to become a dial-in server.
+
+	  For information about the Cyclades-Z card, read
+	  <file:Documentation/serial/README.cycladesZ>.
+
+	  To compile this driver as a module, choose M here: the
+	  module will be called cyclades.
+
+	  If you haven't heard about it, it's safe to say N.
+
+config CYZ_INTR
+	bool "Cyclades-Z interrupt mode operation (EXPERIMENTAL)"
+	depends on EXPERIMENTAL && CYCLADES
+	help
+	  The Cyclades-Z family of multiport cards allows 2 (two) driver op
+	  modes: polling and interrupt. In polling mode, the driver will check
+	  the status of the Cyclades-Z ports every certain amount of time
+	  (which is called polling cycle and is configurable). In interrupt
+	  mode, it will use an interrupt line (IRQ) in order to check the
+	  status of the Cyclades-Z ports. The default op mode is polling. If
+	  unsure, say N.
+
+config MOXA_INTELLIO
+	tristate "Moxa Intellio support"
+	depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
+	select FW_LOADER
+	help
+	  Say Y here if you have a Moxa Intellio multiport serial card.
+
+	  To compile this driver as a module, choose M here: the
+	  module will be called moxa.
+
+config MOXA_SMARTIO
+	tristate "Moxa SmartIO support v. 2.0"
+	depends on SERIAL_NONSTANDARD && (PCI || EISA || ISA)
+	help
+	  Say Y here if you have a Moxa SmartIO multiport serial card and/or
+	  want to help develop a new version of this driver.
+
+	  This is upgraded (1.9.1) driver from original Moxa drivers with
+	  changes finally resulting in PCI probing.
+
+	  This driver can also be built as a module. The module will be called
+	  mxser. If you want to do that, say M here.
+
+config SYNCLINK
+	tristate "Microgate SyncLink card support"
+	depends on SERIAL_NONSTANDARD && PCI && ISA_DMA_API
+	help
+	  Provides support for the SyncLink ISA and PCI multiprotocol serial
+	  adapters. These adapters support asynchronous and HDLC bit
+	  synchronous communication up to 10Mbps (PCI adapter).
+
+	  This driver can only be built as a module ( = code which can be
+	  inserted in and removed from the running kernel whenever you want).
+	  The module will be called synclink.  If you want to do that, say M
+	  here.
+
+config SYNCLINKMP
+	tristate "SyncLink Multiport support"
+	depends on SERIAL_NONSTANDARD && PCI
+	help
+	  Enable support for the SyncLink Multiport (2 or 4 ports)
+	  serial adapter, running asynchronous and HDLC communications up
+	  to 2.048Mbps. Each ports is independently selectable for
+	  RS-232, V.35, RS-449, RS-530, and X.21
+
+	  This driver may be built as a module ( = code which can be
+	  inserted in and removed from the running kernel whenever you want).
+	  The module will be called synclinkmp.  If you want to do that, say M
+	  here.
+
+config SYNCLINK_GT
+	tristate "SyncLink GT/AC support"
+	depends on SERIAL_NONSTANDARD && PCI
+	help
+	  Support for SyncLink GT and SyncLink AC families of
+	  synchronous and asynchronous serial adapters
+	  manufactured by Microgate Systems, Ltd. (www.microgate.com)
+
+config ISI
+	tristate "Multi-Tech multiport card support (EXPERIMENTAL)"
+	depends on SERIAL_NONSTANDARD && PCI
+	select FW_LOADER
+	help
+	  This is a driver for the Multi-Tech cards which provide several
+	  serial ports.  The driver is experimental and can currently only be
+	  built as a module. The module will be called isicom.
+	  If you want to do that, choose M here.
+
 endmenu
diff --git a/drivers/tty/serial/Makefile b/drivers/tty/serial/Makefile
index e10cf5b..da4b608 100644
--- a/drivers/tty/serial/Makefile
+++ b/drivers/tty/serial/Makefile
@@ -94,3 +94,14 @@ obj-$(CONFIG_SERIAL_MSM_SMD)	+= msm_smd_tty.o
 obj-$(CONFIG_SERIAL_MXS_AUART) += mxs-auart.o
 obj-$(CONFIG_SERIAL_LANTIQ)	+= lantiq.o
 obj-$(CONFIG_SERIAL_XILINX_PS_UART) += xilinx_uartps.o
+obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o
+
+# Stuff depending on SERIAL_NONSTANDARD; mostly legacy multiport cards.
+obj-$(CONFIG_CYCLADES)			+= cyclades.o
+obj-$(CONFIG_ISI)			+= isicom.o
+obj-$(CONFIG_MOXA_INTELLIO)		+= moxa.o
+obj-$(CONFIG_MOXA_SMARTIO)		+= mxser.o
+obj-$(CONFIG_ROCKETPORT)		+= rocket.o
+obj-$(CONFIG_SYNCLINK_GT)		+= synclink_gt.o
+obj-$(CONFIG_SYNCLINKMP)		+= synclinkmp.o
+obj-$(CONFIG_SYNCLINK)			+= synclink.o
diff --git a/drivers/tty/amiserial.c b/drivers/tty/serial/amiserial.c
similarity index 100%
rename from drivers/tty/amiserial.c
rename to drivers/tty/serial/amiserial.c
diff --git a/drivers/tty/cyclades.c b/drivers/tty/serial/cyclades.c
similarity index 100%
rename from drivers/tty/cyclades.c
rename to drivers/tty/serial/cyclades.c
diff --git a/drivers/tty/isicom.c b/drivers/tty/serial/isicom.c
similarity index 100%
rename from drivers/tty/isicom.c
rename to drivers/tty/serial/isicom.c
diff --git a/drivers/tty/moxa.c b/drivers/tty/serial/moxa.c
similarity index 100%
rename from drivers/tty/moxa.c
rename to drivers/tty/serial/moxa.c
diff --git a/drivers/tty/moxa.h b/drivers/tty/serial/moxa.h
similarity index 100%
rename from drivers/tty/moxa.h
rename to drivers/tty/serial/moxa.h
diff --git a/drivers/tty/mxser.c b/drivers/tty/serial/mxser.c
similarity index 100%
rename from drivers/tty/mxser.c
rename to drivers/tty/serial/mxser.c
diff --git a/drivers/tty/mxser.h b/drivers/tty/serial/mxser.h
similarity index 100%
rename from drivers/tty/mxser.h
rename to drivers/tty/serial/mxser.h
diff --git a/drivers/tty/rocket.c b/drivers/tty/serial/rocket.c
similarity index 100%
rename from drivers/tty/rocket.c
rename to drivers/tty/serial/rocket.c
diff --git a/drivers/tty/rocket.h b/drivers/tty/serial/rocket.h
similarity index 100%
rename from drivers/tty/rocket.h
rename to drivers/tty/serial/rocket.h
diff --git a/drivers/tty/rocket_int.h b/drivers/tty/serial/rocket_int.h
similarity index 100%
rename from drivers/tty/rocket_int.h
rename to drivers/tty/serial/rocket_int.h
diff --git a/drivers/tty/synclink.c b/drivers/tty/serial/synclink.c
similarity index 100%
rename from drivers/tty/synclink.c
rename to drivers/tty/serial/synclink.c
diff --git a/drivers/tty/synclink_gt.c b/drivers/tty/serial/synclink_gt.c
similarity index 100%
rename from drivers/tty/synclink_gt.c
rename to drivers/tty/serial/synclink_gt.c
diff --git a/drivers/tty/synclinkmp.c b/drivers/tty/serial/synclinkmp.c
similarity index 100%
rename from drivers/tty/synclinkmp.c
rename to drivers/tty/serial/synclinkmp.c
-- 
1.7.7


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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
  2012-01-04 20:01 [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/ Paul Gortmaker
@ 2012-01-04 20:34 ` Jiri Slaby
  2012-01-04 20:51   ` Greg KH
  2012-01-04 22:01 ` Alan Cox
  1 sibling, 1 reply; 21+ messages in thread
From: Jiri Slaby @ 2012-01-04 20:34 UTC (permalink / raw)
  To: Paul Gortmaker; +Cc: alan, gregkh, linux-serial, linux-kernel, Jiri Slaby

On 01/04/2012 09:01 PM, Paul Gortmaker wrote:
>  rename drivers/tty/{ => serial}/amiserial.c (100%)
>  rename drivers/tty/{ => serial}/cyclades.c (100%)
>  rename drivers/tty/{ => serial}/isicom.c (100%)
>  rename drivers/tty/{ => serial}/moxa.c (100%)
>  rename drivers/tty/{ => serial}/moxa.h (100%)
>  rename drivers/tty/{ => serial}/mxser.c (100%)
>  rename drivers/tty/{ => serial}/mxser.h (100%)
>  rename drivers/tty/{ => serial}/rocket.c (100%)
>  rename drivers/tty/{ => serial}/rocket.h (100%)
>  rename drivers/tty/{ => serial}/rocket_int.h (100%)
>  rename drivers/tty/{ => serial}/synclink.c (100%)
>  rename drivers/tty/{ => serial}/synclink_gt.c (100%)
>  rename drivers/tty/{ => serial}/synclinkmp.c (100%)

Hmm, tty/serial/* used to be for those using serial-core. And tty/ for
those who don't. But FWIW I don't mind the change.

-- 
js
suse labs

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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
  2012-01-04 20:34 ` Jiri Slaby
@ 2012-01-04 20:51   ` Greg KH
  2012-01-04 21:07       ` Paul Gortmaker
  0 siblings, 1 reply; 21+ messages in thread
From: Greg KH @ 2012-01-04 20:51 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: Paul Gortmaker, alan, linux-serial, linux-kernel, Jiri Slaby

On Wed, Jan 04, 2012 at 09:34:36PM +0100, Jiri Slaby wrote:
> On 01/04/2012 09:01 PM, Paul Gortmaker wrote:
> >  rename drivers/tty/{ => serial}/amiserial.c (100%)
> >  rename drivers/tty/{ => serial}/cyclades.c (100%)
> >  rename drivers/tty/{ => serial}/isicom.c (100%)
> >  rename drivers/tty/{ => serial}/moxa.c (100%)
> >  rename drivers/tty/{ => serial}/moxa.h (100%)
> >  rename drivers/tty/{ => serial}/mxser.c (100%)
> >  rename drivers/tty/{ => serial}/mxser.h (100%)
> >  rename drivers/tty/{ => serial}/rocket.c (100%)
> >  rename drivers/tty/{ => serial}/rocket.h (100%)
> >  rename drivers/tty/{ => serial}/rocket_int.h (100%)
> >  rename drivers/tty/{ => serial}/synclink.c (100%)
> >  rename drivers/tty/{ => serial}/synclink_gt.c (100%)
> >  rename drivers/tty/{ => serial}/synclinkmp.c (100%)
> 
> Hmm, tty/serial/* used to be for those using serial-core. And tty/ for
> those who don't. But FWIW I don't mind the change.

Yes, that is what I used when splitting them up, so this patch doesn't
make much sense.

Paul, why do you want these all mixed together?

greg k-h

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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
  2012-01-04 20:51   ` Greg KH
@ 2012-01-04 21:07       ` Paul Gortmaker
  0 siblings, 0 replies; 21+ messages in thread
From: Paul Gortmaker @ 2012-01-04 21:07 UTC (permalink / raw)
  To: Greg KH; +Cc: Jiri Slaby, alan, linux-serial, linux-kernel, Jiri Slaby

On 12-01-04 03:51 PM, Greg KH wrote:
> On Wed, Jan 04, 2012 at 09:34:36PM +0100, Jiri Slaby wrote:
>> On 01/04/2012 09:01 PM, Paul Gortmaker wrote:
>>>  rename drivers/tty/{ => serial}/amiserial.c (100%)
>>>  rename drivers/tty/{ => serial}/cyclades.c (100%)
>>>  rename drivers/tty/{ => serial}/isicom.c (100%)
>>>  rename drivers/tty/{ => serial}/moxa.c (100%)
>>>  rename drivers/tty/{ => serial}/moxa.h (100%)
>>>  rename drivers/tty/{ => serial}/mxser.c (100%)
>>>  rename drivers/tty/{ => serial}/mxser.h (100%)
>>>  rename drivers/tty/{ => serial}/rocket.c (100%)
>>>  rename drivers/tty/{ => serial}/rocket.h (100%)
>>>  rename drivers/tty/{ => serial}/rocket_int.h (100%)
>>>  rename drivers/tty/{ => serial}/synclink.c (100%)
>>>  rename drivers/tty/{ => serial}/synclink_gt.c (100%)
>>>  rename drivers/tty/{ => serial}/synclinkmp.c (100%)
>>
>> Hmm, tty/serial/* used to be for those using serial-core. And tty/ for
>> those who don't. But FWIW I don't mind the change.
> 
> Yes, that is what I used when splitting them up, so this patch doesn't
> make much sense.
> 
> Paul, why do you want these all mixed together?

My thinking was that having a drivers/tty/serial dir and then
not having all the serial drivers in that dir violated the
principle of least surprise.  Is there a reason why the dir should
be the exclusive domain of drivers with a dependency on SERIAL_CORE?

Paul.

> 
> greg k-h

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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
@ 2012-01-04 21:07       ` Paul Gortmaker
  0 siblings, 0 replies; 21+ messages in thread
From: Paul Gortmaker @ 2012-01-04 21:07 UTC (permalink / raw)
  To: Greg KH; +Cc: Jiri Slaby, alan, linux-serial, linux-kernel, Jiri Slaby

On 12-01-04 03:51 PM, Greg KH wrote:
> On Wed, Jan 04, 2012 at 09:34:36PM +0100, Jiri Slaby wrote:
>> On 01/04/2012 09:01 PM, Paul Gortmaker wrote:
>>>  rename drivers/tty/{ => serial}/amiserial.c (100%)
>>>  rename drivers/tty/{ => serial}/cyclades.c (100%)
>>>  rename drivers/tty/{ => serial}/isicom.c (100%)
>>>  rename drivers/tty/{ => serial}/moxa.c (100%)
>>>  rename drivers/tty/{ => serial}/moxa.h (100%)
>>>  rename drivers/tty/{ => serial}/mxser.c (100%)
>>>  rename drivers/tty/{ => serial}/mxser.h (100%)
>>>  rename drivers/tty/{ => serial}/rocket.c (100%)
>>>  rename drivers/tty/{ => serial}/rocket.h (100%)
>>>  rename drivers/tty/{ => serial}/rocket_int.h (100%)
>>>  rename drivers/tty/{ => serial}/synclink.c (100%)
>>>  rename drivers/tty/{ => serial}/synclink_gt.c (100%)
>>>  rename drivers/tty/{ => serial}/synclinkmp.c (100%)
>>
>> Hmm, tty/serial/* used to be for those using serial-core. And tty/ for
>> those who don't. But FWIW I don't mind the change.
> 
> Yes, that is what I used when splitting them up, so this patch doesn't
> make much sense.
> 
> Paul, why do you want these all mixed together?

My thinking was that having a drivers/tty/serial dir and then
not having all the serial drivers in that dir violated the
principle of least surprise.  Is there a reason why the dir should
be the exclusive domain of drivers with a dependency on SERIAL_CORE?

Paul.

> 
> greg k-h

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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
  2012-01-04 20:01 [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/ Paul Gortmaker
  2012-01-04 20:34 ` Jiri Slaby
@ 2012-01-04 22:01 ` Alan Cox
  2012-01-04 22:43     ` Paul Gortmaker
  1 sibling, 1 reply; 21+ messages in thread
From: Alan Cox @ 2012-01-04 22:01 UTC (permalink / raw)
  To: Paul Gortmaker; +Cc: alan, gregkh, linux-serial, linux-kernel

On Wed,  4 Jan 2012 15:01:27 -0500
Paul Gortmaker <paul.gortmaker@windriver.com> wrote:

> The commit ab4382d27412e7e3e7c936e8d50d8888dfac3df8,
> 
>    "tty: move drivers/serial/ to drivers/tty/serial/"
> 
> put most of the serial drivers together in one place, but the ones
> that were hiding in drivers/char didn't get picked up in that change.
> 
> They did get moved in commit a6afd9f3e819de4795fcd356e5bfad446e4323f2
> 
>    "tty: move a number of tty drivers from drivers/char/ to drivers/tty/"
> 
> but there was no distinction of serial vs. non-serial in the above.
> 
> Here we take the remaining serial drivers (mostly legacy multiport
> drivers) and put them alongside all the others in tty/serial/ dir.
> 
> We can drop SERIAL_NONSTANDARD's dependency on HAS_IOMEM, since the
> encompassing menu block already has that dependency called out.

NAK

The tty/serial directory is the stuff using serial_core. I'm not averse
to moving the others down a layer into more appropriate places but its
already too crowded and in need of re-ordering (eg tty/serial/8250/...
might be an improvement)


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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
  2012-01-04 21:07       ` Paul Gortmaker
  (?)
@ 2012-01-04 22:03       ` Greg KH
  2012-01-04 23:27         ` Arnd Bergmann
  -1 siblings, 1 reply; 21+ messages in thread
From: Greg KH @ 2012-01-04 22:03 UTC (permalink / raw)
  To: Paul Gortmaker; +Cc: Jiri Slaby, alan, linux-serial, linux-kernel, Jiri Slaby

On Wed, Jan 04, 2012 at 04:07:52PM -0500, Paul Gortmaker wrote:
> On 12-01-04 03:51 PM, Greg KH wrote:
> > On Wed, Jan 04, 2012 at 09:34:36PM +0100, Jiri Slaby wrote:
> >> On 01/04/2012 09:01 PM, Paul Gortmaker wrote:
> >>>  rename drivers/tty/{ => serial}/amiserial.c (100%)
> >>>  rename drivers/tty/{ => serial}/cyclades.c (100%)
> >>>  rename drivers/tty/{ => serial}/isicom.c (100%)
> >>>  rename drivers/tty/{ => serial}/moxa.c (100%)
> >>>  rename drivers/tty/{ => serial}/moxa.h (100%)
> >>>  rename drivers/tty/{ => serial}/mxser.c (100%)
> >>>  rename drivers/tty/{ => serial}/mxser.h (100%)
> >>>  rename drivers/tty/{ => serial}/rocket.c (100%)
> >>>  rename drivers/tty/{ => serial}/rocket.h (100%)
> >>>  rename drivers/tty/{ => serial}/rocket_int.h (100%)
> >>>  rename drivers/tty/{ => serial}/synclink.c (100%)
> >>>  rename drivers/tty/{ => serial}/synclink_gt.c (100%)
> >>>  rename drivers/tty/{ => serial}/synclinkmp.c (100%)
> >>
> >> Hmm, tty/serial/* used to be for those using serial-core. And tty/ for
> >> those who don't. But FWIW I don't mind the change.
> > 
> > Yes, that is what I used when splitting them up, so this patch doesn't
> > make much sense.
> > 
> > Paul, why do you want these all mixed together?
> 
> My thinking was that having a drivers/tty/serial dir and then
> not having all the serial drivers in that dir violated the
> principle of least surprise.  Is there a reason why the dir should
> be the exclusive domain of drivers with a dependency on SERIAL_CORE?

Because that is what the directory is for?  :)

We have other "serial" like drivers all over the kernel, this was for
the SERIAL_CORE drivers only at the moment.

thanks,

greg k-h

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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
  2012-01-04 22:01 ` Alan Cox
@ 2012-01-04 22:43     ` Paul Gortmaker
  0 siblings, 0 replies; 21+ messages in thread
From: Paul Gortmaker @ 2012-01-04 22:43 UTC (permalink / raw)
  To: Alan Cox; +Cc: alan, gregkh, linux-serial, linux-kernel

On 12-01-04 05:01 PM, Alan Cox wrote:
> On Wed,  4 Jan 2012 15:01:27 -0500
> Paul Gortmaker <paul.gortmaker@windriver.com> wrote:
> 
>> The commit ab4382d27412e7e3e7c936e8d50d8888dfac3df8,
>>
>>    "tty: move drivers/serial/ to drivers/tty/serial/"
>>
>> put most of the serial drivers together in one place, but the ones
>> that were hiding in drivers/char didn't get picked up in that change.
>>
>> They did get moved in commit a6afd9f3e819de4795fcd356e5bfad446e4323f2
>>
>>    "tty: move a number of tty drivers from drivers/char/ to drivers/tty/"
>>
>> but there was no distinction of serial vs. non-serial in the above.
>>
>> Here we take the remaining serial drivers (mostly legacy multiport
>> drivers) and put them alongside all the others in tty/serial/ dir.
>>
>> We can drop SERIAL_NONSTANDARD's dependency on HAS_IOMEM, since the
>> encompassing menu block already has that dependency called out.
> 
> NAK
> 
> The tty/serial directory is the stuff using serial_core. I'm not averse
> to moving the others down a layer into more appropriate places but its
> already too crowded and in need of re-ordering (eg tty/serial/8250/...
> might be an improvement)

OK, I can do 8250.  What do you have in mind for the legacy multiport
drivers then, leave them as-in in drivers/tty or another subdir just
for them?

Thanks,
P.

> 

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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
@ 2012-01-04 22:43     ` Paul Gortmaker
  0 siblings, 0 replies; 21+ messages in thread
From: Paul Gortmaker @ 2012-01-04 22:43 UTC (permalink / raw)
  To: Alan Cox; +Cc: alan, gregkh, linux-serial, linux-kernel

On 12-01-04 05:01 PM, Alan Cox wrote:
> On Wed,  4 Jan 2012 15:01:27 -0500
> Paul Gortmaker <paul.gortmaker@windriver.com> wrote:
> 
>> The commit ab4382d27412e7e3e7c936e8d50d8888dfac3df8,
>>
>>    "tty: move drivers/serial/ to drivers/tty/serial/"
>>
>> put most of the serial drivers together in one place, but the ones
>> that were hiding in drivers/char didn't get picked up in that change.
>>
>> They did get moved in commit a6afd9f3e819de4795fcd356e5bfad446e4323f2
>>
>>    "tty: move a number of tty drivers from drivers/char/ to drivers/tty/"
>>
>> but there was no distinction of serial vs. non-serial in the above.
>>
>> Here we take the remaining serial drivers (mostly legacy multiport
>> drivers) and put them alongside all the others in tty/serial/ dir.
>>
>> We can drop SERIAL_NONSTANDARD's dependency on HAS_IOMEM, since the
>> encompassing menu block already has that dependency called out.
> 
> NAK
> 
> The tty/serial directory is the stuff using serial_core. I'm not averse
> to moving the others down a layer into more appropriate places but its
> already too crowded and in need of re-ordering (eg tty/serial/8250/...
> might be an improvement)

OK, I can do 8250.  What do you have in mind for the legacy multiport
drivers then, leave them as-in in drivers/tty or another subdir just
for them?

Thanks,
P.

> 

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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
  2012-01-04 22:03       ` Greg KH
@ 2012-01-04 23:27         ` Arnd Bergmann
  2012-01-05  5:42           ` Sam Ravnborg
  0 siblings, 1 reply; 21+ messages in thread
From: Arnd Bergmann @ 2012-01-04 23:27 UTC (permalink / raw)
  To: Greg KH
  Cc: Paul Gortmaker, Jiri Slaby, alan, linux-serial, linux-kernel, Jiri Slaby

On Wednesday 04 January 2012, Greg KH wrote:
> > 
> > My thinking was that having a drivers/tty/serial dir and then
> > not having all the serial drivers in that dir violated the
> > principle of least surprise.  Is there a reason why the dir should
> > be the exclusive domain of drivers with a dependency on SERIAL_CORE?
> 
> Because that is what the directory is for?  :)
> 
> We have other "serial" like drivers all over the kernel, this was for
> the SERIAL_CORE drivers only at the moment.

My initial plan when moving some files to drivers/tty was to have a separate
directory for the non-SERIAL_CORE serial drivers next to drivers/tty/serial.

I would still prefer this solution, but I think we never agreed on a good
name for that directory. IIRC, I had suggested drivers/tty/legacy believing
that SERIAL_CORE was the modern way to implement a serial driver, but that
turned out not to be true and at lease one of these (bfin_jtag) is not
a legacy driver in practice.

Maybe drivers/tty/hw? I think that one has been suggested before, too.
I don't remember any argument against it and I think it would be nice
to separate the core implementation from actual device drivers.

	Arnd

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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
  2012-01-04 23:27         ` Arnd Bergmann
@ 2012-01-05  5:42           ` Sam Ravnborg
  2012-01-05 12:45             ` Alan Cox
  0 siblings, 1 reply; 21+ messages in thread
From: Sam Ravnborg @ 2012-01-05  5:42 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Greg KH, Paul Gortmaker, Jiri Slaby, alan, linux-serial,
	linux-kernel, Jiri Slaby

On Wed, Jan 04, 2012 at 11:27:33PM +0000, Arnd Bergmann wrote:
> On Wednesday 04 January 2012, Greg KH wrote:
> > > 
> > > My thinking was that having a drivers/tty/serial dir and then
> > > not having all the serial drivers in that dir violated the
> > > principle of least surprise.  Is there a reason why the dir should
> > > be the exclusive domain of drivers with a dependency on SERIAL_CORE?
> > 
> > Because that is what the directory is for?  :)
> > 
> > We have other "serial" like drivers all over the kernel, this was for
> > the SERIAL_CORE drivers only at the moment.
> 
> My initial plan when moving some files to drivers/tty was to have a separate
> directory for the non-SERIAL_CORE serial drivers next to drivers/tty/serial.
> 
> I would still prefer this solution, but I think we never agreed on a good
> name for that directory. IIRC, I had suggested drivers/tty/legacy believing
> that SERIAL_CORE was the modern way to implement a serial driver, but that
> turned out not to be true and at lease one of these (bfin_jtag) is not
> a legacy driver in practice.
> 
> Maybe drivers/tty/hw? I think that one has been suggested before, too.
> I don't remember any argument against it and I think it would be nice
> to separate the core implementation from actual device drivers.

How about:

drivers/tty/serial_core  <= drivers based on SERIAL_CORE
drivers/tty/serial       <= the rest

This makes it obvious that one directory is for drivers based on
SERIAL_CORE - and the other is sort of the "rest".

I know this imply moving files around again :-(

	Sam

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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
  2012-01-05  5:42           ` Sam Ravnborg
@ 2012-01-05 12:45             ` Alan Cox
  2012-01-05 23:21                 ` Paul Gortmaker
  0 siblings, 1 reply; 21+ messages in thread
From: Alan Cox @ 2012-01-05 12:45 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Arnd Bergmann, Greg KH, Paul Gortmaker, Jiri Slaby, linux-serial,
	linux-kernel, Jiri Slaby

> drivers/tty/serial_core  <= drivers based on SERIAL_CORE
> drivers/tty/serial       <= the rest
> 
> This makes it obvious that one directory is for drivers based on
> SERIAL_CORE - and the other is sort of the "rest".
> 
> I know this imply moving files around again :-(

And putting one lot where the other were. Merge time is closed so we've
got plenty of time to sort this right. For the moment can we just tidy
up 8250, then think about it in more detail rather than play musical
chairs ?

Alan

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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
  2012-01-05 12:45             ` Alan Cox
@ 2012-01-05 23:21                 ` Paul Gortmaker
  0 siblings, 0 replies; 21+ messages in thread
From: Paul Gortmaker @ 2012-01-05 23:21 UTC (permalink / raw)
  To: Alan Cox
  Cc: Sam Ravnborg, Arnd Bergmann, Greg KH, Jiri Slaby, linux-serial,
	linux-kernel, Jiri Slaby

[Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/] On 05/01/2012 (Thu 12:45) Alan Cox wrote:

> > drivers/tty/serial_core  <= drivers based on SERIAL_CORE
> > drivers/tty/serial       <= the rest
> > 
> > This makes it obvious that one directory is for drivers based on
> > SERIAL_CORE - and the other is sort of the "rest".
> > 
> > I know this imply moving files around again :-(
> 
> And putting one lot where the other were. Merge time is closed so we've
> got plenty of time to sort this right. For the moment can we just tidy
> up 8250, then think about it in more detail rather than play musical
> chairs ?

Presumably too late for 3.3, but I figured I'd send the 8250 tidy up
for review while the discussion was still fresh in everyone's mind.

Note that this patch is based on Greg's tty-next branch in:

   git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git

since we need to move the 8250_fsl driver as well, which at the moment
only exists there.  Tested with serial console on x86-32.

Paul.
---

>From 742ad14382126ae26cf7472f5ec5556646d8bb20 Mon Sep 17 00:00:00 2001
From: Paul Gortmaker <paul.gortmaker@windriver.com>
Date: Wed, 4 Jan 2012 20:04:42 -0500
Subject: [PATCH] serial: group all the 8250 related code together

The drivers/tty/serial dir is already getting rather busy.
Relocate the 8250 related drivers to their own subdir to
reduce the clutter.

Note that sunsu.c is not included in this move -- it is
8250-like hardware, but it does not use any of the existing
infrastructure -- and does not depend on SERIAL_8250.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 drivers/tty/serial/{ => 8250}/8250.c               |    0
 drivers/tty/serial/{ => 8250}/8250.h               |    0
 drivers/tty/serial/{ => 8250}/8250_accent.c        |    0
 drivers/tty/serial/{ => 8250}/8250_acorn.c         |    0
 drivers/tty/serial/{ => 8250}/8250_boca.c          |    0
 drivers/tty/serial/{ => 8250}/8250_dw.c            |    0
 drivers/tty/serial/{ => 8250}/8250_early.c         |    0
 drivers/tty/serial/{ => 8250}/8250_exar_st16c554.c |    0
 drivers/tty/serial/{ => 8250}/8250_fourport.c      |    0
 drivers/tty/serial/{ => 8250}/8250_fsl.c           |    0
 drivers/tty/serial/{ => 8250}/8250_gsc.c           |    0
 drivers/tty/serial/{ => 8250}/8250_hp300.c         |    0
 drivers/tty/serial/{ => 8250}/8250_hub6.c          |    0
 drivers/tty/serial/{ => 8250}/8250_mca.c           |    0
 drivers/tty/serial/{ => 8250}/8250_pci.c           |    0
 drivers/tty/serial/{ => 8250}/8250_pnp.c           |    0
 drivers/tty/serial/8250/Kconfig                    |  280 ++++++++++++++++++++
 drivers/tty/serial/8250/Makefile                   |   20 ++
 drivers/tty/serial/{ => 8250}/m32r_sio.c           |    0
 drivers/tty/serial/{ => 8250}/m32r_sio.h           |    0
 drivers/tty/serial/{ => 8250}/m32r_sio_reg.h       |    0
 drivers/tty/serial/{ => 8250}/serial_cs.c          |    0
 drivers/tty/serial/Kconfig                         |  274 +-------------------
 drivers/tty/serial/Makefile                        |   19 +--
 24 files changed, 304 insertions(+), 289 deletions(-)
 rename drivers/tty/serial/{ => 8250}/8250.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250.h (100%)
 rename drivers/tty/serial/{ => 8250}/8250_accent.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_acorn.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_boca.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_dw.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_early.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_exar_st16c554.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_fourport.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_fsl.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_gsc.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_hp300.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_hub6.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_mca.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_pci.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_pnp.c (100%)
 create mode 100644 drivers/tty/serial/8250/Kconfig
 create mode 100644 drivers/tty/serial/8250/Makefile
 rename drivers/tty/serial/{ => 8250}/m32r_sio.c (100%)
 rename drivers/tty/serial/{ => 8250}/m32r_sio.h (100%)
 rename drivers/tty/serial/{ => 8250}/m32r_sio_reg.h (100%)
 rename drivers/tty/serial/{ => 8250}/serial_cs.c (100%)

diff --git a/drivers/tty/serial/8250.c b/drivers/tty/serial/8250/8250.c
similarity index 100%
rename from drivers/tty/serial/8250.c
rename to drivers/tty/serial/8250/8250.c
diff --git a/drivers/tty/serial/8250.h b/drivers/tty/serial/8250/8250.h
similarity index 100%
rename from drivers/tty/serial/8250.h
rename to drivers/tty/serial/8250/8250.h
diff --git a/drivers/tty/serial/8250_accent.c b/drivers/tty/serial/8250/8250_accent.c
similarity index 100%
rename from drivers/tty/serial/8250_accent.c
rename to drivers/tty/serial/8250/8250_accent.c
diff --git a/drivers/tty/serial/8250_acorn.c b/drivers/tty/serial/8250/8250_acorn.c
similarity index 100%
rename from drivers/tty/serial/8250_acorn.c
rename to drivers/tty/serial/8250/8250_acorn.c
diff --git a/drivers/tty/serial/8250_boca.c b/drivers/tty/serial/8250/8250_boca.c
similarity index 100%
rename from drivers/tty/serial/8250_boca.c
rename to drivers/tty/serial/8250/8250_boca.c
diff --git a/drivers/tty/serial/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c
similarity index 100%
rename from drivers/tty/serial/8250_dw.c
rename to drivers/tty/serial/8250/8250_dw.c
diff --git a/drivers/tty/serial/8250_early.c b/drivers/tty/serial/8250/8250_early.c
similarity index 100%
rename from drivers/tty/serial/8250_early.c
rename to drivers/tty/serial/8250/8250_early.c
diff --git a/drivers/tty/serial/8250_exar_st16c554.c b/drivers/tty/serial/8250/8250_exar_st16c554.c
similarity index 100%
rename from drivers/tty/serial/8250_exar_st16c554.c
rename to drivers/tty/serial/8250/8250_exar_st16c554.c
diff --git a/drivers/tty/serial/8250_fourport.c b/drivers/tty/serial/8250/8250_fourport.c
similarity index 100%
rename from drivers/tty/serial/8250_fourport.c
rename to drivers/tty/serial/8250/8250_fourport.c
diff --git a/drivers/tty/serial/8250_fsl.c b/drivers/tty/serial/8250/8250_fsl.c
similarity index 100%
rename from drivers/tty/serial/8250_fsl.c
rename to drivers/tty/serial/8250/8250_fsl.c
diff --git a/drivers/tty/serial/8250_gsc.c b/drivers/tty/serial/8250/8250_gsc.c
similarity index 100%
rename from drivers/tty/serial/8250_gsc.c
rename to drivers/tty/serial/8250/8250_gsc.c
diff --git a/drivers/tty/serial/8250_hp300.c b/drivers/tty/serial/8250/8250_hp300.c
similarity index 100%
rename from drivers/tty/serial/8250_hp300.c
rename to drivers/tty/serial/8250/8250_hp300.c
diff --git a/drivers/tty/serial/8250_hub6.c b/drivers/tty/serial/8250/8250_hub6.c
similarity index 100%
rename from drivers/tty/serial/8250_hub6.c
rename to drivers/tty/serial/8250/8250_hub6.c
diff --git a/drivers/tty/serial/8250_mca.c b/drivers/tty/serial/8250/8250_mca.c
similarity index 100%
rename from drivers/tty/serial/8250_mca.c
rename to drivers/tty/serial/8250/8250_mca.c
diff --git a/drivers/tty/serial/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
similarity index 100%
rename from drivers/tty/serial/8250_pci.c
rename to drivers/tty/serial/8250/8250_pci.c
diff --git a/drivers/tty/serial/8250_pnp.c b/drivers/tty/serial/8250/8250_pnp.c
similarity index 100%
rename from drivers/tty/serial/8250_pnp.c
rename to drivers/tty/serial/8250/8250_pnp.c
diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig
new file mode 100644
index 0000000..591f801
--- /dev/null
+++ b/drivers/tty/serial/8250/Kconfig
@@ -0,0 +1,280 @@
+#
+# The 8250/16550 serial drivers.  You shouldn't be in this list unless
+# you somehow have an implicit or explicit dependency on SERIAL_8250.
+#
+
+config SERIAL_8250
+	tristate "8250/16550 and compatible serial support"
+	select SERIAL_CORE
+	---help---
+	  This selects whether you want to include the driver for the standard
+	  serial ports.  The standard answer is Y.  People who might say N
+	  here are those that are setting up dedicated Ethernet WWW/FTP
+	  servers, or users that have one of the various bus mice instead of a
+	  serial mouse and don't intend to use their machine's standard serial
+	  port for anything.  (Note that the Cyclades and Stallion multi
+	  serial port drivers do not need this driver built in for them to
+	  work.)
+
+	  To compile this driver as a module, choose M here: the
+	  module will be called 8250.
+	  [WARNING: Do not compile this driver as a module if you are using
+	  non-standard serial ports, since the configuration information will
+	  be lost when the driver is unloaded.  This limitation may be lifted
+	  in the future.]
+
+	  BTW1: If you have a mouseman serial mouse which is not recognized by
+	  the X window system, try running gpm first.
+
+	  BTW2: If you intend to use a software modem (also called Winmodem)
+	  under Linux, forget it.  These modems are crippled and require
+	  proprietary drivers which are only available under Windows.
+
+	  Most people will say Y or M here, so that they can use serial mice,
+	  modems and similar devices connecting to the standard serial ports.
+
+config SERIAL_8250_CONSOLE
+	bool "Console on 8250/16550 and compatible serial port"
+	depends on SERIAL_8250=y
+	select SERIAL_CORE_CONSOLE
+	---help---
+	  If you say Y here, it will be possible to use a serial port as the
+	  system console (the system console is the device which receives all
+	  kernel messages and warnings and which allows logins in single user
+	  mode). This could be useful if some terminal or printer is connected
+	  to that serial port.
+
+	  Even if you say Y here, the currently visible virtual console
+	  (/dev/tty0) will still be used as the system console by default, but
+	  you can alter that using a kernel command line option such as
+	  "console=ttyS1". (Try "man bootparam" or see the documentation of
+	  your boot loader (grub or lilo or loadlin) about how to pass options
+	  to the kernel at boot time.)
+
+	  If you don't have a VGA card installed and you say Y here, the
+	  kernel will automatically use the first serial line, /dev/ttyS0, as
+	  system console.
+
+	  You can set that using a kernel command line option such as
+	  "console=uart8250,io,0x3f8,9600n8"
+	  "console=uart8250,mmio,0xff5e0000,115200n8".
+	  and it will switch to normal serial console when the corresponding
+	  port is ready.
+	  "earlycon=uart8250,io,0x3f8,9600n8"
+	  "earlycon=uart8250,mmio,0xff5e0000,115200n8".
+	  it will not only setup early console.
+
+	  If unsure, say N.
+
+config FIX_EARLYCON_MEM
+	bool
+	depends on X86
+	default y
+
+config SERIAL_8250_GSC
+	tristate
+	depends on SERIAL_8250 && GSC
+	default SERIAL_8250
+
+config SERIAL_8250_PCI
+	tristate "8250/16550 PCI device support" if EXPERT
+	depends on SERIAL_8250 && PCI
+	default SERIAL_8250
+	help
+	  This builds standard PCI serial support. You may be able to
+	  disable this feature if you only need legacy serial support.
+	  Saves about 9K.
+
+config SERIAL_8250_PNP
+	tristate "8250/16550 PNP device support" if EXPERT
+	depends on SERIAL_8250 && PNP
+	default SERIAL_8250
+	help
+	  This builds standard PNP serial support. You may be able to
+	  disable this feature if you only need legacy serial support.
+
+config SERIAL_8250_HP300
+	tristate
+	depends on SERIAL_8250 && HP300
+	default SERIAL_8250
+
+config SERIAL_8250_CS
+	tristate "8250/16550 PCMCIA device support"
+	depends on PCMCIA && SERIAL_8250
+	---help---
+	  Say Y here to enable support for 16-bit PCMCIA serial devices,
+	  including serial port cards, modems, and the modem functions of
+	  multi-function Ethernet/modem cards. (PCMCIA- or PC-cards are
+	  credit-card size devices often used with laptops.)
+
+	  To compile this driver as a module, choose M here: the
+	  module will be called serial_cs.
+
+	  If unsure, say N.
+
+config SERIAL_8250_NR_UARTS
+	int "Maximum number of 8250/16550 serial ports"
+	depends on SERIAL_8250
+	default "4"
+	help
+	  Set this to the number of serial ports you want the driver
+	  to support.  This includes any ports discovered via ACPI or
+	  PCI enumeration and any ports that may be added at run-time
+	  via hot-plug, or any ISA multi-port serial cards.
+
+config SERIAL_8250_RUNTIME_UARTS
+	int "Number of 8250/16550 serial ports to register at runtime"
+	depends on SERIAL_8250
+	range 0 SERIAL_8250_NR_UARTS
+	default "4"
+	help
+	  Set this to the maximum number of serial ports you want
+	  the kernel to register at boot time.  This can be overridden
+	  with the module parameter "nr_uarts", or boot-time parameter
+	  8250.nr_uarts
+
+config SERIAL_8250_EXTENDED
+	bool "Extended 8250/16550 serial driver options"
+	depends on SERIAL_8250
+	help
+	  If you wish to use any non-standard features of the standard "dumb"
+	  driver, say Y here. This includes HUB6 support, shared serial
+	  interrupts, special multiport support, support for more than the
+	  four COM 1/2/3/4 boards, etc.
+
+	  Note that the answer to this question won't directly affect the
+	  kernel: saying N will just cause the configurator to skip all
+	  the questions about serial driver options. If unsure, say N.
+
+config SERIAL_8250_MANY_PORTS
+	bool "Support more than 4 legacy serial ports"
+	depends on SERIAL_8250_EXTENDED && !IA64
+	help
+	  Say Y here if you have dumb serial boards other than the four
+	  standard COM 1/2/3/4 ports. This may happen if you have an AST
+	  FourPort, Accent Async, Boca (read the Boca mini-HOWTO, available
+	  from <http://www.tldp.org/docs.html#howto>), or other custom
+	  serial port hardware which acts similar to standard serial port
+	  hardware. If you only use the standard COM 1/2/3/4 ports, you can
+	  say N here to save some memory. You can also say Y if you have an
+	  "intelligent" multiport card such as Cyclades, Digiboards, etc.
+
+#
+# Multi-port serial cards
+#
+
+config SERIAL_8250_FOURPORT
+	tristate "Support Fourport cards"
+	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
+	help
+	  Say Y here if you have an AST FourPort serial board.
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called 8250_fourport.
+
+config SERIAL_8250_ACCENT
+	tristate "Support Accent cards"
+	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
+	help
+	  Say Y here if you have an Accent Async serial board.
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called 8250_accent.
+
+config SERIAL_8250_BOCA
+	tristate "Support Boca cards"
+	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
+	help
+	  Say Y here if you have a Boca serial board.  Please read the Boca
+	  mini-HOWTO, available from <http://www.tldp.org/docs.html#howto>
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called 8250_boca.
+
+config SERIAL_8250_EXAR_ST16C554
+	tristate "Support Exar ST16C554/554D Quad UART"
+	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
+	help
+	  The Uplogix Envoy TU301 uses this Exar Quad UART.  If you are
+	  tinkering with your Envoy TU301, or have a machine with this UART,
+	  say Y here.
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called 8250_exar_st16c554.
+
+config SERIAL_8250_HUB6
+	tristate "Support Hub6 cards"
+	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
+	help
+	  Say Y here if you have a HUB6 serial board.
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called 8250_hub6.
+
+#
+# Misc. options/drivers.
+#
+
+config SERIAL_8250_SHARE_IRQ
+	bool "Support for sharing serial interrupts"
+	depends on SERIAL_8250_EXTENDED
+	help
+	  Some serial boards have hardware support which allows multiple dumb
+	  serial ports on the same board to share a single IRQ. To enable
+	  support for this in the serial driver, say Y here.
+
+config SERIAL_8250_DETECT_IRQ
+	bool "Autodetect IRQ on standard ports (unsafe)"
+	depends on SERIAL_8250_EXTENDED
+	help
+	  Say Y here if you want the kernel to try to guess which IRQ
+	  to use for your serial port.
+
+	  This is considered unsafe; it is far better to configure the IRQ in
+	  a boot script using the setserial command.
+
+	  If unsure, say N.
+
+config SERIAL_8250_RSA
+	bool "Support RSA serial ports"
+	depends on SERIAL_8250_EXTENDED
+	help
+	  ::: To be written :::
+
+config SERIAL_8250_MCA
+	tristate "Support 8250-type ports on MCA buses"
+	depends on SERIAL_8250 != n && MCA
+	help
+	  Say Y here if you have a MCA serial ports.
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called 8250_mca.
+
+config SERIAL_8250_ACORN
+	tristate "Acorn expansion card serial port support"
+	depends on ARCH_ACORN && SERIAL_8250
+	help
+	  If you have an Atomwide Serial card or Serial Port card for an Acorn
+	  system, say Y to this option.  The driver can handle 1, 2, or 3 port
+	  cards.  If unsure, say N.
+
+config SERIAL_8250_RM9K
+	bool "Support for MIPS RM9xxx integrated serial port"
+	depends on SERIAL_8250 != n && SERIAL_RM9000
+	select SERIAL_8250_SHARE_IRQ
+	help
+	  Selecting this option will add support for the integrated serial
+	  port hardware found on MIPS RM9122 and similar processors.
+	  If unsure, say N.
+
+config SERIAL_8250_FSL
+	bool
+	depends on SERIAL_8250_CONSOLE && PPC_UDBG_16550
+	default PPC
+
+config SERIAL_8250_DW
+	tristate "Support for Synopsys DesignWare 8250 quirks"
+	depends on SERIAL_8250 && OF
+	help
+	  Selecting this option will enable handling of the extra features
+	  present in the Synopsys DesignWare APB UART.
diff --git a/drivers/tty/serial/8250/Makefile b/drivers/tty/serial/8250/Makefile
new file mode 100644
index 0000000..867bba7
--- /dev/null
+++ b/drivers/tty/serial/8250/Makefile
@@ -0,0 +1,20 @@
+#
+# Makefile for the 8250 serial device drivers.
+#
+
+obj-$(CONFIG_SERIAL_8250)		+= 8250.o
+obj-$(CONFIG_SERIAL_8250_PNP)		+= 8250_pnp.o
+obj-$(CONFIG_SERIAL_8250_GSC)		+= 8250_gsc.o
+obj-$(CONFIG_SERIAL_8250_PCI)		+= 8250_pci.o
+obj-$(CONFIG_SERIAL_8250_HP300)		+= 8250_hp300.o
+obj-$(CONFIG_SERIAL_8250_CS)		+= serial_cs.o
+obj-$(CONFIG_SERIAL_8250_ACORN)		+= 8250_acorn.o
+obj-$(CONFIG_SERIAL_8250_CONSOLE)	+= 8250_early.o
+obj-$(CONFIG_SERIAL_8250_FOURPORT)	+= 8250_fourport.o
+obj-$(CONFIG_SERIAL_8250_ACCENT)	+= 8250_accent.o
+obj-$(CONFIG_SERIAL_8250_BOCA)		+= 8250_boca.o
+obj-$(CONFIG_SERIAL_8250_EXAR_ST16C554)	+= 8250_exar_st16c554.o
+obj-$(CONFIG_SERIAL_8250_HUB6)		+= 8250_hub6.o
+obj-$(CONFIG_SERIAL_8250_MCA)		+= 8250_mca.o
+obj-$(CONFIG_SERIAL_8250_FSL)		+= 8250_fsl.o
+obj-$(CONFIG_SERIAL_8250_DW)		+= 8250_dw.o
diff --git a/drivers/tty/serial/m32r_sio.c b/drivers/tty/serial/8250/m32r_sio.c
similarity index 100%
rename from drivers/tty/serial/m32r_sio.c
rename to drivers/tty/serial/8250/m32r_sio.c
diff --git a/drivers/tty/serial/m32r_sio.h b/drivers/tty/serial/8250/m32r_sio.h
similarity index 100%
rename from drivers/tty/serial/m32r_sio.h
rename to drivers/tty/serial/8250/m32r_sio.h
diff --git a/drivers/tty/serial/m32r_sio_reg.h b/drivers/tty/serial/8250/m32r_sio_reg.h
similarity index 100%
rename from drivers/tty/serial/m32r_sio_reg.h
rename to drivers/tty/serial/8250/m32r_sio_reg.h
diff --git a/drivers/tty/serial/serial_cs.c b/drivers/tty/serial/8250/serial_cs.c
similarity index 100%
rename from drivers/tty/serial/serial_cs.c
rename to drivers/tty/serial/8250/serial_cs.c
diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index d1e4f20..7ef5603 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -5,279 +5,7 @@
 menu "Serial drivers"
 	depends on HAS_IOMEM
 
-#
-# The new 8250/16550 serial drivers
-config SERIAL_8250
-	tristate "8250/16550 and compatible serial support"
-	select SERIAL_CORE
-	---help---
-	  This selects whether you want to include the driver for the standard
-	  serial ports.  The standard answer is Y.  People who might say N
-	  here are those that are setting up dedicated Ethernet WWW/FTP
-	  servers, or users that have one of the various bus mice instead of a
-	  serial mouse and don't intend to use their machine's standard serial
-	  port for anything.  (Note that the Cyclades and Stallion multi
-	  serial port drivers do not need this driver built in for them to
-	  work.)
-
-	  To compile this driver as a module, choose M here: the
-	  module will be called 8250.
-	  [WARNING: Do not compile this driver as a module if you are using
-	  non-standard serial ports, since the configuration information will
-	  be lost when the driver is unloaded.  This limitation may be lifted
-	  in the future.]
-
-	  BTW1: If you have a mouseman serial mouse which is not recognized by
-	  the X window system, try running gpm first.
-
-	  BTW2: If you intend to use a software modem (also called Winmodem)
-	  under Linux, forget it.  These modems are crippled and require
-	  proprietary drivers which are only available under Windows.
-
-	  Most people will say Y or M here, so that they can use serial mice,
-	  modems and similar devices connecting to the standard serial ports.
-
-config SERIAL_8250_CONSOLE
-	bool "Console on 8250/16550 and compatible serial port"
-	depends on SERIAL_8250=y
-	select SERIAL_CORE_CONSOLE
-	---help---
-	  If you say Y here, it will be possible to use a serial port as the
-	  system console (the system console is the device which receives all
-	  kernel messages and warnings and which allows logins in single user
-	  mode). This could be useful if some terminal or printer is connected
-	  to that serial port.
-
-	  Even if you say Y here, the currently visible virtual console
-	  (/dev/tty0) will still be used as the system console by default, but
-	  you can alter that using a kernel command line option such as
-	  "console=ttyS1". (Try "man bootparam" or see the documentation of
-	  your boot loader (grub or lilo or loadlin) about how to pass options
-	  to the kernel at boot time.)
-
-	  If you don't have a VGA card installed and you say Y here, the
-	  kernel will automatically use the first serial line, /dev/ttyS0, as
-	  system console.
-
-	  You can set that using a kernel command line option such as
-	  "console=uart8250,io,0x3f8,9600n8"
-	  "console=uart8250,mmio,0xff5e0000,115200n8".
-	  and it will switch to normal serial console when the corresponding 
-	  port is ready.
-	  "earlycon=uart8250,io,0x3f8,9600n8"
-	  "earlycon=uart8250,mmio,0xff5e0000,115200n8".
-	  it will not only setup early console.
-
-	  If unsure, say N.
-
-config FIX_EARLYCON_MEM
-	bool
-	depends on X86
-	default y
-
-config SERIAL_8250_GSC
-	tristate
-	depends on SERIAL_8250 && GSC
-	default SERIAL_8250
-
-config SERIAL_8250_PCI
-	tristate "8250/16550 PCI device support" if EXPERT
-	depends on SERIAL_8250 && PCI
-	default SERIAL_8250
-	help
-	  This builds standard PCI serial support. You may be able to
-	  disable this feature if you only need legacy serial support.
-	  Saves about 9K.
-
-config SERIAL_8250_PNP
-	tristate "8250/16550 PNP device support" if EXPERT
-	depends on SERIAL_8250 && PNP
-	default SERIAL_8250
-	help
-	  This builds standard PNP serial support. You may be able to
-	  disable this feature if you only need legacy serial support.
-
-config SERIAL_8250_FSL
-	bool
-	depends on SERIAL_8250_CONSOLE && PPC_UDBG_16550
-	default PPC
-
-config SERIAL_8250_HP300
-	tristate
-	depends on SERIAL_8250 && HP300
-	default SERIAL_8250
-
-config SERIAL_8250_CS
-	tristate "8250/16550 PCMCIA device support"
-	depends on PCMCIA && SERIAL_8250
-	---help---
-	  Say Y here to enable support for 16-bit PCMCIA serial devices,
-	  including serial port cards, modems, and the modem functions of
-	  multi-function Ethernet/modem cards. (PCMCIA- or PC-cards are
-	  credit-card size devices often used with laptops.)
-
-	  To compile this driver as a module, choose M here: the
-	  module will be called serial_cs.
-
-	  If unsure, say N.
-
-config SERIAL_8250_NR_UARTS
-	int "Maximum number of 8250/16550 serial ports"
-	depends on SERIAL_8250
-	default "4"
-	help
-	  Set this to the number of serial ports you want the driver
-	  to support.  This includes any ports discovered via ACPI or
-	  PCI enumeration and any ports that may be added at run-time
-	  via hot-plug, or any ISA multi-port serial cards.
-
-config SERIAL_8250_RUNTIME_UARTS
-	int "Number of 8250/16550 serial ports to register at runtime"
-	depends on SERIAL_8250
-	range 0 SERIAL_8250_NR_UARTS
-	default "4"
-	help
-	  Set this to the maximum number of serial ports you want
-	  the kernel to register at boot time.  This can be overridden
-	  with the module parameter "nr_uarts", or boot-time parameter
-	  8250.nr_uarts
-
-config SERIAL_8250_EXTENDED
-	bool "Extended 8250/16550 serial driver options"
-	depends on SERIAL_8250
-	help
-	  If you wish to use any non-standard features of the standard "dumb"
-	  driver, say Y here. This includes HUB6 support, shared serial
-	  interrupts, special multiport support, support for more than the
-	  four COM 1/2/3/4 boards, etc.
-
-	  Note that the answer to this question won't directly affect the
-	  kernel: saying N will just cause the configurator to skip all
-	  the questions about serial driver options. If unsure, say N.
-
-config SERIAL_8250_MANY_PORTS
-	bool "Support more than 4 legacy serial ports"
-	depends on SERIAL_8250_EXTENDED && !IA64
-	help
-	  Say Y here if you have dumb serial boards other than the four
-	  standard COM 1/2/3/4 ports. This may happen if you have an AST
-	  FourPort, Accent Async, Boca (read the Boca mini-HOWTO, available
-	  from <http://www.tldp.org/docs.html#howto>), or other custom
-	  serial port hardware which acts similar to standard serial port
-	  hardware. If you only use the standard COM 1/2/3/4 ports, you can
-	  say N here to save some memory. You can also say Y if you have an
-	  "intelligent" multiport card such as Cyclades, Digiboards, etc.
-
-#
-# Multi-port serial cards
-#
-
-config SERIAL_8250_FOURPORT
-	tristate "Support Fourport cards"
-	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
-	help
-	  Say Y here if you have an AST FourPort serial board.
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called 8250_fourport.
-
-config SERIAL_8250_ACCENT
-	tristate "Support Accent cards"
-	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
-	help
-	  Say Y here if you have an Accent Async serial board.
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called 8250_accent.
-
-config SERIAL_8250_BOCA
-	tristate "Support Boca cards"
-	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
-	help
-	  Say Y here if you have a Boca serial board.  Please read the Boca
-	  mini-HOWTO, available from <http://www.tldp.org/docs.html#howto>
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called 8250_boca.
-
-config SERIAL_8250_EXAR_ST16C554
-	tristate "Support Exar ST16C554/554D Quad UART"
-	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
-	help
-	  The Uplogix Envoy TU301 uses this Exar Quad UART.  If you are
-	  tinkering with your Envoy TU301, or have a machine with this UART,
-	  say Y here.
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called 8250_exar_st16c554.
-
-config SERIAL_8250_HUB6
-	tristate "Support Hub6 cards"
-	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
-	help
-	  Say Y here if you have a HUB6 serial board.
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called 8250_hub6.
-
-config SERIAL_8250_SHARE_IRQ
-	bool "Support for sharing serial interrupts"
-	depends on SERIAL_8250_EXTENDED
-	help
-	  Some serial boards have hardware support which allows multiple dumb
-	  serial ports on the same board to share a single IRQ. To enable
-	  support for this in the serial driver, say Y here.
-
-config SERIAL_8250_DETECT_IRQ
-	bool "Autodetect IRQ on standard ports (unsafe)"
-	depends on SERIAL_8250_EXTENDED
-	help
-	  Say Y here if you want the kernel to try to guess which IRQ
-	  to use for your serial port.
-
-	  This is considered unsafe; it is far better to configure the IRQ in
-	  a boot script using the setserial command.
-
-	  If unsure, say N.
-
-config SERIAL_8250_RSA
-	bool "Support RSA serial ports"
-	depends on SERIAL_8250_EXTENDED
-	help
-	  ::: To be written :::
-
-config SERIAL_8250_MCA
-	tristate "Support 8250-type ports on MCA buses"
-	depends on SERIAL_8250 != n && MCA
-	help
-	  Say Y here if you have a MCA serial ports.
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called 8250_mca.
-
-config SERIAL_8250_ACORN
-	tristate "Acorn expansion card serial port support"
-	depends on ARCH_ACORN && SERIAL_8250
-	help
-	  If you have an Atomwide Serial card or Serial Port card for an Acorn
-	  system, say Y to this option.  The driver can handle 1, 2, or 3 port
-	  cards.  If unsure, say N.
-
-config SERIAL_8250_RM9K
-	bool "Support for MIPS RM9xxx integrated serial port"
-	depends on SERIAL_8250 != n && SERIAL_RM9000
-	select SERIAL_8250_SHARE_IRQ
-	help
-	  Selecting this option will add support for the integrated serial
-	  port hardware found on MIPS RM9122 and similar processors.
-	  If unsure, say N.
-
-config SERIAL_8250_DW
-	tristate "Support for Synopsys DesignWare 8250 quirks"
-	depends on SERIAL_8250 && OF
-	help
-	  Selecting this option will enable handling of the extra features
-	  present in the Synopsys DesignWare APB UART.
+source "drivers/tty/serial/8250/Kconfig"
 
 comment "Non-8250 serial port support"
 
diff --git a/drivers/tty/serial/Makefile b/drivers/tty/serial/Makefile
index 75eadb8..ee3a293 100644
--- a/drivers/tty/serial/Makefile
+++ b/drivers/tty/serial/Makefile
@@ -14,22 +14,9 @@ obj-$(CONFIG_SERIAL_SUNZILOG) += sunzilog.o
 obj-$(CONFIG_SERIAL_SUNSU) += sunsu.o
 obj-$(CONFIG_SERIAL_SUNSAB) += sunsab.o
 
-obj-$(CONFIG_SERIAL_8250) += 8250.o
-obj-$(CONFIG_SERIAL_8250_PNP) += 8250_pnp.o
-obj-$(CONFIG_SERIAL_8250_GSC) += 8250_gsc.o
-obj-$(CONFIG_SERIAL_8250_PCI) += 8250_pci.o
-obj-$(CONFIG_SERIAL_8250_HP300) += 8250_hp300.o
-obj-$(CONFIG_SERIAL_8250_CS) += serial_cs.o
-obj-$(CONFIG_SERIAL_8250_ACORN) += 8250_acorn.o
-obj-$(CONFIG_SERIAL_8250_CONSOLE) += 8250_early.o
-obj-$(CONFIG_SERIAL_8250_FOURPORT) += 8250_fourport.o
-obj-$(CONFIG_SERIAL_8250_ACCENT) += 8250_accent.o
-obj-$(CONFIG_SERIAL_8250_BOCA) += 8250_boca.o
-obj-$(CONFIG_SERIAL_8250_EXAR_ST16C554) += 8250_exar_st16c554.o
-obj-$(CONFIG_SERIAL_8250_HUB6) += 8250_hub6.o
-obj-$(CONFIG_SERIAL_8250_MCA) += 8250_mca.o
-obj-$(CONFIG_SERIAL_8250_FSL) += 8250_fsl.o
-obj-$(CONFIG_SERIAL_8250_DW) += 8250_dw.o
+# Now bring in any enabled 8250/16450/16550 type drivers.
+obj-$(CONFIG_SERIAL_8250) += 8250/
+
 obj-$(CONFIG_SERIAL_AMBA_PL010) += amba-pl010.o
 obj-$(CONFIG_SERIAL_AMBA_PL011) += amba-pl011.o
 obj-$(CONFIG_SERIAL_CLPS711X) += clps711x.o
-- 
1.7.7

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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
@ 2012-01-05 23:21                 ` Paul Gortmaker
  0 siblings, 0 replies; 21+ messages in thread
From: Paul Gortmaker @ 2012-01-05 23:21 UTC (permalink / raw)
  To: Alan Cox
  Cc: Sam Ravnborg, Arnd Bergmann, Greg KH, Jiri Slaby, linux-serial,
	linux-kernel, Jiri Slaby

[Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/] On 05/01/2012 (Thu 12:45) Alan Cox wrote:

> > drivers/tty/serial_core  <= drivers based on SERIAL_CORE
> > drivers/tty/serial       <= the rest
> > 
> > This makes it obvious that one directory is for drivers based on
> > SERIAL_CORE - and the other is sort of the "rest".
> > 
> > I know this imply moving files around again :-(
> 
> And putting one lot where the other were. Merge time is closed so we've
> got plenty of time to sort this right. For the moment can we just tidy
> up 8250, then think about it in more detail rather than play musical
> chairs ?

Presumably too late for 3.3, but I figured I'd send the 8250 tidy up
for review while the discussion was still fresh in everyone's mind.

Note that this patch is based on Greg's tty-next branch in:

   git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git

since we need to move the 8250_fsl driver as well, which at the moment
only exists there.  Tested with serial console on x86-32.

Paul.
---

>From 742ad14382126ae26cf7472f5ec5556646d8bb20 Mon Sep 17 00:00:00 2001
From: Paul Gortmaker <paul.gortmaker@windriver.com>
Date: Wed, 4 Jan 2012 20:04:42 -0500
Subject: [PATCH] serial: group all the 8250 related code together

The drivers/tty/serial dir is already getting rather busy.
Relocate the 8250 related drivers to their own subdir to
reduce the clutter.

Note that sunsu.c is not included in this move -- it is
8250-like hardware, but it does not use any of the existing
infrastructure -- and does not depend on SERIAL_8250.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 drivers/tty/serial/{ => 8250}/8250.c               |    0
 drivers/tty/serial/{ => 8250}/8250.h               |    0
 drivers/tty/serial/{ => 8250}/8250_accent.c        |    0
 drivers/tty/serial/{ => 8250}/8250_acorn.c         |    0
 drivers/tty/serial/{ => 8250}/8250_boca.c          |    0
 drivers/tty/serial/{ => 8250}/8250_dw.c            |    0
 drivers/tty/serial/{ => 8250}/8250_early.c         |    0
 drivers/tty/serial/{ => 8250}/8250_exar_st16c554.c |    0
 drivers/tty/serial/{ => 8250}/8250_fourport.c      |    0
 drivers/tty/serial/{ => 8250}/8250_fsl.c           |    0
 drivers/tty/serial/{ => 8250}/8250_gsc.c           |    0
 drivers/tty/serial/{ => 8250}/8250_hp300.c         |    0
 drivers/tty/serial/{ => 8250}/8250_hub6.c          |    0
 drivers/tty/serial/{ => 8250}/8250_mca.c           |    0
 drivers/tty/serial/{ => 8250}/8250_pci.c           |    0
 drivers/tty/serial/{ => 8250}/8250_pnp.c           |    0
 drivers/tty/serial/8250/Kconfig                    |  280 ++++++++++++++++++++
 drivers/tty/serial/8250/Makefile                   |   20 ++
 drivers/tty/serial/{ => 8250}/m32r_sio.c           |    0
 drivers/tty/serial/{ => 8250}/m32r_sio.h           |    0
 drivers/tty/serial/{ => 8250}/m32r_sio_reg.h       |    0
 drivers/tty/serial/{ => 8250}/serial_cs.c          |    0
 drivers/tty/serial/Kconfig                         |  274 +-------------------
 drivers/tty/serial/Makefile                        |   19 +--
 24 files changed, 304 insertions(+), 289 deletions(-)
 rename drivers/tty/serial/{ => 8250}/8250.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250.h (100%)
 rename drivers/tty/serial/{ => 8250}/8250_accent.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_acorn.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_boca.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_dw.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_early.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_exar_st16c554.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_fourport.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_fsl.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_gsc.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_hp300.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_hub6.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_mca.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_pci.c (100%)
 rename drivers/tty/serial/{ => 8250}/8250_pnp.c (100%)
 create mode 100644 drivers/tty/serial/8250/Kconfig
 create mode 100644 drivers/tty/serial/8250/Makefile
 rename drivers/tty/serial/{ => 8250}/m32r_sio.c (100%)
 rename drivers/tty/serial/{ => 8250}/m32r_sio.h (100%)
 rename drivers/tty/serial/{ => 8250}/m32r_sio_reg.h (100%)
 rename drivers/tty/serial/{ => 8250}/serial_cs.c (100%)

diff --git a/drivers/tty/serial/8250.c b/drivers/tty/serial/8250/8250.c
similarity index 100%
rename from drivers/tty/serial/8250.c
rename to drivers/tty/serial/8250/8250.c
diff --git a/drivers/tty/serial/8250.h b/drivers/tty/serial/8250/8250.h
similarity index 100%
rename from drivers/tty/serial/8250.h
rename to drivers/tty/serial/8250/8250.h
diff --git a/drivers/tty/serial/8250_accent.c b/drivers/tty/serial/8250/8250_accent.c
similarity index 100%
rename from drivers/tty/serial/8250_accent.c
rename to drivers/tty/serial/8250/8250_accent.c
diff --git a/drivers/tty/serial/8250_acorn.c b/drivers/tty/serial/8250/8250_acorn.c
similarity index 100%
rename from drivers/tty/serial/8250_acorn.c
rename to drivers/tty/serial/8250/8250_acorn.c
diff --git a/drivers/tty/serial/8250_boca.c b/drivers/tty/serial/8250/8250_boca.c
similarity index 100%
rename from drivers/tty/serial/8250_boca.c
rename to drivers/tty/serial/8250/8250_boca.c
diff --git a/drivers/tty/serial/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c
similarity index 100%
rename from drivers/tty/serial/8250_dw.c
rename to drivers/tty/serial/8250/8250_dw.c
diff --git a/drivers/tty/serial/8250_early.c b/drivers/tty/serial/8250/8250_early.c
similarity index 100%
rename from drivers/tty/serial/8250_early.c
rename to drivers/tty/serial/8250/8250_early.c
diff --git a/drivers/tty/serial/8250_exar_st16c554.c b/drivers/tty/serial/8250/8250_exar_st16c554.c
similarity index 100%
rename from drivers/tty/serial/8250_exar_st16c554.c
rename to drivers/tty/serial/8250/8250_exar_st16c554.c
diff --git a/drivers/tty/serial/8250_fourport.c b/drivers/tty/serial/8250/8250_fourport.c
similarity index 100%
rename from drivers/tty/serial/8250_fourport.c
rename to drivers/tty/serial/8250/8250_fourport.c
diff --git a/drivers/tty/serial/8250_fsl.c b/drivers/tty/serial/8250/8250_fsl.c
similarity index 100%
rename from drivers/tty/serial/8250_fsl.c
rename to drivers/tty/serial/8250/8250_fsl.c
diff --git a/drivers/tty/serial/8250_gsc.c b/drivers/tty/serial/8250/8250_gsc.c
similarity index 100%
rename from drivers/tty/serial/8250_gsc.c
rename to drivers/tty/serial/8250/8250_gsc.c
diff --git a/drivers/tty/serial/8250_hp300.c b/drivers/tty/serial/8250/8250_hp300.c
similarity index 100%
rename from drivers/tty/serial/8250_hp300.c
rename to drivers/tty/serial/8250/8250_hp300.c
diff --git a/drivers/tty/serial/8250_hub6.c b/drivers/tty/serial/8250/8250_hub6.c
similarity index 100%
rename from drivers/tty/serial/8250_hub6.c
rename to drivers/tty/serial/8250/8250_hub6.c
diff --git a/drivers/tty/serial/8250_mca.c b/drivers/tty/serial/8250/8250_mca.c
similarity index 100%
rename from drivers/tty/serial/8250_mca.c
rename to drivers/tty/serial/8250/8250_mca.c
diff --git a/drivers/tty/serial/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
similarity index 100%
rename from drivers/tty/serial/8250_pci.c
rename to drivers/tty/serial/8250/8250_pci.c
diff --git a/drivers/tty/serial/8250_pnp.c b/drivers/tty/serial/8250/8250_pnp.c
similarity index 100%
rename from drivers/tty/serial/8250_pnp.c
rename to drivers/tty/serial/8250/8250_pnp.c
diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig
new file mode 100644
index 0000000..591f801
--- /dev/null
+++ b/drivers/tty/serial/8250/Kconfig
@@ -0,0 +1,280 @@
+#
+# The 8250/16550 serial drivers.  You shouldn't be in this list unless
+# you somehow have an implicit or explicit dependency on SERIAL_8250.
+#
+
+config SERIAL_8250
+	tristate "8250/16550 and compatible serial support"
+	select SERIAL_CORE
+	---help---
+	  This selects whether you want to include the driver for the standard
+	  serial ports.  The standard answer is Y.  People who might say N
+	  here are those that are setting up dedicated Ethernet WWW/FTP
+	  servers, or users that have one of the various bus mice instead of a
+	  serial mouse and don't intend to use their machine's standard serial
+	  port for anything.  (Note that the Cyclades and Stallion multi
+	  serial port drivers do not need this driver built in for them to
+	  work.)
+
+	  To compile this driver as a module, choose M here: the
+	  module will be called 8250.
+	  [WARNING: Do not compile this driver as a module if you are using
+	  non-standard serial ports, since the configuration information will
+	  be lost when the driver is unloaded.  This limitation may be lifted
+	  in the future.]
+
+	  BTW1: If you have a mouseman serial mouse which is not recognized by
+	  the X window system, try running gpm first.
+
+	  BTW2: If you intend to use a software modem (also called Winmodem)
+	  under Linux, forget it.  These modems are crippled and require
+	  proprietary drivers which are only available under Windows.
+
+	  Most people will say Y or M here, so that they can use serial mice,
+	  modems and similar devices connecting to the standard serial ports.
+
+config SERIAL_8250_CONSOLE
+	bool "Console on 8250/16550 and compatible serial port"
+	depends on SERIAL_8250=y
+	select SERIAL_CORE_CONSOLE
+	---help---
+	  If you say Y here, it will be possible to use a serial port as the
+	  system console (the system console is the device which receives all
+	  kernel messages and warnings and which allows logins in single user
+	  mode). This could be useful if some terminal or printer is connected
+	  to that serial port.
+
+	  Even if you say Y here, the currently visible virtual console
+	  (/dev/tty0) will still be used as the system console by default, but
+	  you can alter that using a kernel command line option such as
+	  "console=ttyS1". (Try "man bootparam" or see the documentation of
+	  your boot loader (grub or lilo or loadlin) about how to pass options
+	  to the kernel at boot time.)
+
+	  If you don't have a VGA card installed and you say Y here, the
+	  kernel will automatically use the first serial line, /dev/ttyS0, as
+	  system console.
+
+	  You can set that using a kernel command line option such as
+	  "console=uart8250,io,0x3f8,9600n8"
+	  "console=uart8250,mmio,0xff5e0000,115200n8".
+	  and it will switch to normal serial console when the corresponding
+	  port is ready.
+	  "earlycon=uart8250,io,0x3f8,9600n8"
+	  "earlycon=uart8250,mmio,0xff5e0000,115200n8".
+	  it will not only setup early console.
+
+	  If unsure, say N.
+
+config FIX_EARLYCON_MEM
+	bool
+	depends on X86
+	default y
+
+config SERIAL_8250_GSC
+	tristate
+	depends on SERIAL_8250 && GSC
+	default SERIAL_8250
+
+config SERIAL_8250_PCI
+	tristate "8250/16550 PCI device support" if EXPERT
+	depends on SERIAL_8250 && PCI
+	default SERIAL_8250
+	help
+	  This builds standard PCI serial support. You may be able to
+	  disable this feature if you only need legacy serial support.
+	  Saves about 9K.
+
+config SERIAL_8250_PNP
+	tristate "8250/16550 PNP device support" if EXPERT
+	depends on SERIAL_8250 && PNP
+	default SERIAL_8250
+	help
+	  This builds standard PNP serial support. You may be able to
+	  disable this feature if you only need legacy serial support.
+
+config SERIAL_8250_HP300
+	tristate
+	depends on SERIAL_8250 && HP300
+	default SERIAL_8250
+
+config SERIAL_8250_CS
+	tristate "8250/16550 PCMCIA device support"
+	depends on PCMCIA && SERIAL_8250
+	---help---
+	  Say Y here to enable support for 16-bit PCMCIA serial devices,
+	  including serial port cards, modems, and the modem functions of
+	  multi-function Ethernet/modem cards. (PCMCIA- or PC-cards are
+	  credit-card size devices often used with laptops.)
+
+	  To compile this driver as a module, choose M here: the
+	  module will be called serial_cs.
+
+	  If unsure, say N.
+
+config SERIAL_8250_NR_UARTS
+	int "Maximum number of 8250/16550 serial ports"
+	depends on SERIAL_8250
+	default "4"
+	help
+	  Set this to the number of serial ports you want the driver
+	  to support.  This includes any ports discovered via ACPI or
+	  PCI enumeration and any ports that may be added at run-time
+	  via hot-plug, or any ISA multi-port serial cards.
+
+config SERIAL_8250_RUNTIME_UARTS
+	int "Number of 8250/16550 serial ports to register at runtime"
+	depends on SERIAL_8250
+	range 0 SERIAL_8250_NR_UARTS
+	default "4"
+	help
+	  Set this to the maximum number of serial ports you want
+	  the kernel to register at boot time.  This can be overridden
+	  with the module parameter "nr_uarts", or boot-time parameter
+	  8250.nr_uarts
+
+config SERIAL_8250_EXTENDED
+	bool "Extended 8250/16550 serial driver options"
+	depends on SERIAL_8250
+	help
+	  If you wish to use any non-standard features of the standard "dumb"
+	  driver, say Y here. This includes HUB6 support, shared serial
+	  interrupts, special multiport support, support for more than the
+	  four COM 1/2/3/4 boards, etc.
+
+	  Note that the answer to this question won't directly affect the
+	  kernel: saying N will just cause the configurator to skip all
+	  the questions about serial driver options. If unsure, say N.
+
+config SERIAL_8250_MANY_PORTS
+	bool "Support more than 4 legacy serial ports"
+	depends on SERIAL_8250_EXTENDED && !IA64
+	help
+	  Say Y here if you have dumb serial boards other than the four
+	  standard COM 1/2/3/4 ports. This may happen if you have an AST
+	  FourPort, Accent Async, Boca (read the Boca mini-HOWTO, available
+	  from <http://www.tldp.org/docs.html#howto>), or other custom
+	  serial port hardware which acts similar to standard serial port
+	  hardware. If you only use the standard COM 1/2/3/4 ports, you can
+	  say N here to save some memory. You can also say Y if you have an
+	  "intelligent" multiport card such as Cyclades, Digiboards, etc.
+
+#
+# Multi-port serial cards
+#
+
+config SERIAL_8250_FOURPORT
+	tristate "Support Fourport cards"
+	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
+	help
+	  Say Y here if you have an AST FourPort serial board.
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called 8250_fourport.
+
+config SERIAL_8250_ACCENT
+	tristate "Support Accent cards"
+	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
+	help
+	  Say Y here if you have an Accent Async serial board.
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called 8250_accent.
+
+config SERIAL_8250_BOCA
+	tristate "Support Boca cards"
+	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
+	help
+	  Say Y here if you have a Boca serial board.  Please read the Boca
+	  mini-HOWTO, available from <http://www.tldp.org/docs.html#howto>
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called 8250_boca.
+
+config SERIAL_8250_EXAR_ST16C554
+	tristate "Support Exar ST16C554/554D Quad UART"
+	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
+	help
+	  The Uplogix Envoy TU301 uses this Exar Quad UART.  If you are
+	  tinkering with your Envoy TU301, or have a machine with this UART,
+	  say Y here.
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called 8250_exar_st16c554.
+
+config SERIAL_8250_HUB6
+	tristate "Support Hub6 cards"
+	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
+	help
+	  Say Y here if you have a HUB6 serial board.
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called 8250_hub6.
+
+#
+# Misc. options/drivers.
+#
+
+config SERIAL_8250_SHARE_IRQ
+	bool "Support for sharing serial interrupts"
+	depends on SERIAL_8250_EXTENDED
+	help
+	  Some serial boards have hardware support which allows multiple dumb
+	  serial ports on the same board to share a single IRQ. To enable
+	  support for this in the serial driver, say Y here.
+
+config SERIAL_8250_DETECT_IRQ
+	bool "Autodetect IRQ on standard ports (unsafe)"
+	depends on SERIAL_8250_EXTENDED
+	help
+	  Say Y here if you want the kernel to try to guess which IRQ
+	  to use for your serial port.
+
+	  This is considered unsafe; it is far better to configure the IRQ in
+	  a boot script using the setserial command.
+
+	  If unsure, say N.
+
+config SERIAL_8250_RSA
+	bool "Support RSA serial ports"
+	depends on SERIAL_8250_EXTENDED
+	help
+	  ::: To be written :::
+
+config SERIAL_8250_MCA
+	tristate "Support 8250-type ports on MCA buses"
+	depends on SERIAL_8250 != n && MCA
+	help
+	  Say Y here if you have a MCA serial ports.
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called 8250_mca.
+
+config SERIAL_8250_ACORN
+	tristate "Acorn expansion card serial port support"
+	depends on ARCH_ACORN && SERIAL_8250
+	help
+	  If you have an Atomwide Serial card or Serial Port card for an Acorn
+	  system, say Y to this option.  The driver can handle 1, 2, or 3 port
+	  cards.  If unsure, say N.
+
+config SERIAL_8250_RM9K
+	bool "Support for MIPS RM9xxx integrated serial port"
+	depends on SERIAL_8250 != n && SERIAL_RM9000
+	select SERIAL_8250_SHARE_IRQ
+	help
+	  Selecting this option will add support for the integrated serial
+	  port hardware found on MIPS RM9122 and similar processors.
+	  If unsure, say N.
+
+config SERIAL_8250_FSL
+	bool
+	depends on SERIAL_8250_CONSOLE && PPC_UDBG_16550
+	default PPC
+
+config SERIAL_8250_DW
+	tristate "Support for Synopsys DesignWare 8250 quirks"
+	depends on SERIAL_8250 && OF
+	help
+	  Selecting this option will enable handling of the extra features
+	  present in the Synopsys DesignWare APB UART.
diff --git a/drivers/tty/serial/8250/Makefile b/drivers/tty/serial/8250/Makefile
new file mode 100644
index 0000000..867bba7
--- /dev/null
+++ b/drivers/tty/serial/8250/Makefile
@@ -0,0 +1,20 @@
+#
+# Makefile for the 8250 serial device drivers.
+#
+
+obj-$(CONFIG_SERIAL_8250)		+= 8250.o
+obj-$(CONFIG_SERIAL_8250_PNP)		+= 8250_pnp.o
+obj-$(CONFIG_SERIAL_8250_GSC)		+= 8250_gsc.o
+obj-$(CONFIG_SERIAL_8250_PCI)		+= 8250_pci.o
+obj-$(CONFIG_SERIAL_8250_HP300)		+= 8250_hp300.o
+obj-$(CONFIG_SERIAL_8250_CS)		+= serial_cs.o
+obj-$(CONFIG_SERIAL_8250_ACORN)		+= 8250_acorn.o
+obj-$(CONFIG_SERIAL_8250_CONSOLE)	+= 8250_early.o
+obj-$(CONFIG_SERIAL_8250_FOURPORT)	+= 8250_fourport.o
+obj-$(CONFIG_SERIAL_8250_ACCENT)	+= 8250_accent.o
+obj-$(CONFIG_SERIAL_8250_BOCA)		+= 8250_boca.o
+obj-$(CONFIG_SERIAL_8250_EXAR_ST16C554)	+= 8250_exar_st16c554.o
+obj-$(CONFIG_SERIAL_8250_HUB6)		+= 8250_hub6.o
+obj-$(CONFIG_SERIAL_8250_MCA)		+= 8250_mca.o
+obj-$(CONFIG_SERIAL_8250_FSL)		+= 8250_fsl.o
+obj-$(CONFIG_SERIAL_8250_DW)		+= 8250_dw.o
diff --git a/drivers/tty/serial/m32r_sio.c b/drivers/tty/serial/8250/m32r_sio.c
similarity index 100%
rename from drivers/tty/serial/m32r_sio.c
rename to drivers/tty/serial/8250/m32r_sio.c
diff --git a/drivers/tty/serial/m32r_sio.h b/drivers/tty/serial/8250/m32r_sio.h
similarity index 100%
rename from drivers/tty/serial/m32r_sio.h
rename to drivers/tty/serial/8250/m32r_sio.h
diff --git a/drivers/tty/serial/m32r_sio_reg.h b/drivers/tty/serial/8250/m32r_sio_reg.h
similarity index 100%
rename from drivers/tty/serial/m32r_sio_reg.h
rename to drivers/tty/serial/8250/m32r_sio_reg.h
diff --git a/drivers/tty/serial/serial_cs.c b/drivers/tty/serial/8250/serial_cs.c
similarity index 100%
rename from drivers/tty/serial/serial_cs.c
rename to drivers/tty/serial/8250/serial_cs.c
diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index d1e4f20..7ef5603 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -5,279 +5,7 @@
 menu "Serial drivers"
 	depends on HAS_IOMEM
 
-#
-# The new 8250/16550 serial drivers
-config SERIAL_8250
-	tristate "8250/16550 and compatible serial support"
-	select SERIAL_CORE
-	---help---
-	  This selects whether you want to include the driver for the standard
-	  serial ports.  The standard answer is Y.  People who might say N
-	  here are those that are setting up dedicated Ethernet WWW/FTP
-	  servers, or users that have one of the various bus mice instead of a
-	  serial mouse and don't intend to use their machine's standard serial
-	  port for anything.  (Note that the Cyclades and Stallion multi
-	  serial port drivers do not need this driver built in for them to
-	  work.)
-
-	  To compile this driver as a module, choose M here: the
-	  module will be called 8250.
-	  [WARNING: Do not compile this driver as a module if you are using
-	  non-standard serial ports, since the configuration information will
-	  be lost when the driver is unloaded.  This limitation may be lifted
-	  in the future.]
-
-	  BTW1: If you have a mouseman serial mouse which is not recognized by
-	  the X window system, try running gpm first.
-
-	  BTW2: If you intend to use a software modem (also called Winmodem)
-	  under Linux, forget it.  These modems are crippled and require
-	  proprietary drivers which are only available under Windows.
-
-	  Most people will say Y or M here, so that they can use serial mice,
-	  modems and similar devices connecting to the standard serial ports.
-
-config SERIAL_8250_CONSOLE
-	bool "Console on 8250/16550 and compatible serial port"
-	depends on SERIAL_8250=y
-	select SERIAL_CORE_CONSOLE
-	---help---
-	  If you say Y here, it will be possible to use a serial port as the
-	  system console (the system console is the device which receives all
-	  kernel messages and warnings and which allows logins in single user
-	  mode). This could be useful if some terminal or printer is connected
-	  to that serial port.
-
-	  Even if you say Y here, the currently visible virtual console
-	  (/dev/tty0) will still be used as the system console by default, but
-	  you can alter that using a kernel command line option such as
-	  "console=ttyS1". (Try "man bootparam" or see the documentation of
-	  your boot loader (grub or lilo or loadlin) about how to pass options
-	  to the kernel at boot time.)
-
-	  If you don't have a VGA card installed and you say Y here, the
-	  kernel will automatically use the first serial line, /dev/ttyS0, as
-	  system console.
-
-	  You can set that using a kernel command line option such as
-	  "console=uart8250,io,0x3f8,9600n8"
-	  "console=uart8250,mmio,0xff5e0000,115200n8".
-	  and it will switch to normal serial console when the corresponding 
-	  port is ready.
-	  "earlycon=uart8250,io,0x3f8,9600n8"
-	  "earlycon=uart8250,mmio,0xff5e0000,115200n8".
-	  it will not only setup early console.
-
-	  If unsure, say N.
-
-config FIX_EARLYCON_MEM
-	bool
-	depends on X86
-	default y
-
-config SERIAL_8250_GSC
-	tristate
-	depends on SERIAL_8250 && GSC
-	default SERIAL_8250
-
-config SERIAL_8250_PCI
-	tristate "8250/16550 PCI device support" if EXPERT
-	depends on SERIAL_8250 && PCI
-	default SERIAL_8250
-	help
-	  This builds standard PCI serial support. You may be able to
-	  disable this feature if you only need legacy serial support.
-	  Saves about 9K.
-
-config SERIAL_8250_PNP
-	tristate "8250/16550 PNP device support" if EXPERT
-	depends on SERIAL_8250 && PNP
-	default SERIAL_8250
-	help
-	  This builds standard PNP serial support. You may be able to
-	  disable this feature if you only need legacy serial support.
-
-config SERIAL_8250_FSL
-	bool
-	depends on SERIAL_8250_CONSOLE && PPC_UDBG_16550
-	default PPC
-
-config SERIAL_8250_HP300
-	tristate
-	depends on SERIAL_8250 && HP300
-	default SERIAL_8250
-
-config SERIAL_8250_CS
-	tristate "8250/16550 PCMCIA device support"
-	depends on PCMCIA && SERIAL_8250
-	---help---
-	  Say Y here to enable support for 16-bit PCMCIA serial devices,
-	  including serial port cards, modems, and the modem functions of
-	  multi-function Ethernet/modem cards. (PCMCIA- or PC-cards are
-	  credit-card size devices often used with laptops.)
-
-	  To compile this driver as a module, choose M here: the
-	  module will be called serial_cs.
-
-	  If unsure, say N.
-
-config SERIAL_8250_NR_UARTS
-	int "Maximum number of 8250/16550 serial ports"
-	depends on SERIAL_8250
-	default "4"
-	help
-	  Set this to the number of serial ports you want the driver
-	  to support.  This includes any ports discovered via ACPI or
-	  PCI enumeration and any ports that may be added at run-time
-	  via hot-plug, or any ISA multi-port serial cards.
-
-config SERIAL_8250_RUNTIME_UARTS
-	int "Number of 8250/16550 serial ports to register at runtime"
-	depends on SERIAL_8250
-	range 0 SERIAL_8250_NR_UARTS
-	default "4"
-	help
-	  Set this to the maximum number of serial ports you want
-	  the kernel to register at boot time.  This can be overridden
-	  with the module parameter "nr_uarts", or boot-time parameter
-	  8250.nr_uarts
-
-config SERIAL_8250_EXTENDED
-	bool "Extended 8250/16550 serial driver options"
-	depends on SERIAL_8250
-	help
-	  If you wish to use any non-standard features of the standard "dumb"
-	  driver, say Y here. This includes HUB6 support, shared serial
-	  interrupts, special multiport support, support for more than the
-	  four COM 1/2/3/4 boards, etc.
-
-	  Note that the answer to this question won't directly affect the
-	  kernel: saying N will just cause the configurator to skip all
-	  the questions about serial driver options. If unsure, say N.
-
-config SERIAL_8250_MANY_PORTS
-	bool "Support more than 4 legacy serial ports"
-	depends on SERIAL_8250_EXTENDED && !IA64
-	help
-	  Say Y here if you have dumb serial boards other than the four
-	  standard COM 1/2/3/4 ports. This may happen if you have an AST
-	  FourPort, Accent Async, Boca (read the Boca mini-HOWTO, available
-	  from <http://www.tldp.org/docs.html#howto>), or other custom
-	  serial port hardware which acts similar to standard serial port
-	  hardware. If you only use the standard COM 1/2/3/4 ports, you can
-	  say N here to save some memory. You can also say Y if you have an
-	  "intelligent" multiport card such as Cyclades, Digiboards, etc.
-
-#
-# Multi-port serial cards
-#
-
-config SERIAL_8250_FOURPORT
-	tristate "Support Fourport cards"
-	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
-	help
-	  Say Y here if you have an AST FourPort serial board.
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called 8250_fourport.
-
-config SERIAL_8250_ACCENT
-	tristate "Support Accent cards"
-	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
-	help
-	  Say Y here if you have an Accent Async serial board.
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called 8250_accent.
-
-config SERIAL_8250_BOCA
-	tristate "Support Boca cards"
-	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
-	help
-	  Say Y here if you have a Boca serial board.  Please read the Boca
-	  mini-HOWTO, available from <http://www.tldp.org/docs.html#howto>
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called 8250_boca.
-
-config SERIAL_8250_EXAR_ST16C554
-	tristate "Support Exar ST16C554/554D Quad UART"
-	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
-	help
-	  The Uplogix Envoy TU301 uses this Exar Quad UART.  If you are
-	  tinkering with your Envoy TU301, or have a machine with this UART,
-	  say Y here.
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called 8250_exar_st16c554.
-
-config SERIAL_8250_HUB6
-	tristate "Support Hub6 cards"
-	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
-	help
-	  Say Y here if you have a HUB6 serial board.
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called 8250_hub6.
-
-config SERIAL_8250_SHARE_IRQ
-	bool "Support for sharing serial interrupts"
-	depends on SERIAL_8250_EXTENDED
-	help
-	  Some serial boards have hardware support which allows multiple dumb
-	  serial ports on the same board to share a single IRQ. To enable
-	  support for this in the serial driver, say Y here.
-
-config SERIAL_8250_DETECT_IRQ
-	bool "Autodetect IRQ on standard ports (unsafe)"
-	depends on SERIAL_8250_EXTENDED
-	help
-	  Say Y here if you want the kernel to try to guess which IRQ
-	  to use for your serial port.
-
-	  This is considered unsafe; it is far better to configure the IRQ in
-	  a boot script using the setserial command.
-
-	  If unsure, say N.
-
-config SERIAL_8250_RSA
-	bool "Support RSA serial ports"
-	depends on SERIAL_8250_EXTENDED
-	help
-	  ::: To be written :::
-
-config SERIAL_8250_MCA
-	tristate "Support 8250-type ports on MCA buses"
-	depends on SERIAL_8250 != n && MCA
-	help
-	  Say Y here if you have a MCA serial ports.
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called 8250_mca.
-
-config SERIAL_8250_ACORN
-	tristate "Acorn expansion card serial port support"
-	depends on ARCH_ACORN && SERIAL_8250
-	help
-	  If you have an Atomwide Serial card or Serial Port card for an Acorn
-	  system, say Y to this option.  The driver can handle 1, 2, or 3 port
-	  cards.  If unsure, say N.
-
-config SERIAL_8250_RM9K
-	bool "Support for MIPS RM9xxx integrated serial port"
-	depends on SERIAL_8250 != n && SERIAL_RM9000
-	select SERIAL_8250_SHARE_IRQ
-	help
-	  Selecting this option will add support for the integrated serial
-	  port hardware found on MIPS RM9122 and similar processors.
-	  If unsure, say N.
-
-config SERIAL_8250_DW
-	tristate "Support for Synopsys DesignWare 8250 quirks"
-	depends on SERIAL_8250 && OF
-	help
-	  Selecting this option will enable handling of the extra features
-	  present in the Synopsys DesignWare APB UART.
+source "drivers/tty/serial/8250/Kconfig"
 
 comment "Non-8250 serial port support"
 
diff --git a/drivers/tty/serial/Makefile b/drivers/tty/serial/Makefile
index 75eadb8..ee3a293 100644
--- a/drivers/tty/serial/Makefile
+++ b/drivers/tty/serial/Makefile
@@ -14,22 +14,9 @@ obj-$(CONFIG_SERIAL_SUNZILOG) += sunzilog.o
 obj-$(CONFIG_SERIAL_SUNSU) += sunsu.o
 obj-$(CONFIG_SERIAL_SUNSAB) += sunsab.o
 
-obj-$(CONFIG_SERIAL_8250) += 8250.o
-obj-$(CONFIG_SERIAL_8250_PNP) += 8250_pnp.o
-obj-$(CONFIG_SERIAL_8250_GSC) += 8250_gsc.o
-obj-$(CONFIG_SERIAL_8250_PCI) += 8250_pci.o
-obj-$(CONFIG_SERIAL_8250_HP300) += 8250_hp300.o
-obj-$(CONFIG_SERIAL_8250_CS) += serial_cs.o
-obj-$(CONFIG_SERIAL_8250_ACORN) += 8250_acorn.o
-obj-$(CONFIG_SERIAL_8250_CONSOLE) += 8250_early.o
-obj-$(CONFIG_SERIAL_8250_FOURPORT) += 8250_fourport.o
-obj-$(CONFIG_SERIAL_8250_ACCENT) += 8250_accent.o
-obj-$(CONFIG_SERIAL_8250_BOCA) += 8250_boca.o
-obj-$(CONFIG_SERIAL_8250_EXAR_ST16C554) += 8250_exar_st16c554.o
-obj-$(CONFIG_SERIAL_8250_HUB6) += 8250_hub6.o
-obj-$(CONFIG_SERIAL_8250_MCA) += 8250_mca.o
-obj-$(CONFIG_SERIAL_8250_FSL) += 8250_fsl.o
-obj-$(CONFIG_SERIAL_8250_DW) += 8250_dw.o
+# Now bring in any enabled 8250/16450/16550 type drivers.
+obj-$(CONFIG_SERIAL_8250) += 8250/
+
 obj-$(CONFIG_SERIAL_AMBA_PL010) += amba-pl010.o
 obj-$(CONFIG_SERIAL_AMBA_PL011) += amba-pl011.o
 obj-$(CONFIG_SERIAL_CLPS711X) += clps711x.o
-- 
1.7.7

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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
  2012-01-05 23:21                 ` Paul Gortmaker
  (?)
@ 2012-01-06 13:42                 ` Greg KH
  -1 siblings, 0 replies; 21+ messages in thread
From: Greg KH @ 2012-01-06 13:42 UTC (permalink / raw)
  To: Paul Gortmaker
  Cc: Alan Cox, Sam Ravnborg, Arnd Bergmann, Jiri Slaby, linux-serial,
	linux-kernel, Jiri Slaby

On Thu, Jan 05, 2012 at 06:21:43PM -0500, Paul Gortmaker wrote:
> [Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/] On 05/01/2012 (Thu 12:45) Alan Cox wrote:
> 
> > > drivers/tty/serial_core  <= drivers based on SERIAL_CORE
> > > drivers/tty/serial       <= the rest
> > > 
> > > This makes it obvious that one directory is for drivers based on
> > > SERIAL_CORE - and the other is sort of the "rest".
> > > 
> > > I know this imply moving files around again :-(
> > 
> > And putting one lot where the other were. Merge time is closed so we've
> > got plenty of time to sort this right. For the moment can we just tidy
> > up 8250, then think about it in more detail rather than play musical
> > chairs ?
> 
> Presumably too late for 3.3, but I figured I'd send the 8250 tidy up
> for review while the discussion was still fresh in everyone's mind.

That looks good, I'll see if I can get this in after -rc1 is out as
moving files then is usually easier.

Unless anyone objects to this patch?

thanks,

greg k-h

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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
  2012-01-05 23:21                 ` Paul Gortmaker
  (?)
  (?)
@ 2012-02-08 10:30                 ` Jiri Slaby
  2012-02-08 10:32                   ` Jiri Slaby
  -1 siblings, 1 reply; 21+ messages in thread
From: Jiri Slaby @ 2012-02-08 10:30 UTC (permalink / raw)
  To: Paul Gortmaker
  Cc: Alan Cox, Sam Ravnborg, Arnd Bergmann, Greg KH, Jiri Slaby,
	linux-serial, linux-kernel

On 01/06/2012 12:21 AM, Paul Gortmaker wrote:
> --- /dev/null
> +++ b/drivers/tty/serial/8250/Makefile
> @@ -0,0 +1,20 @@
> +#
> +# Makefile for the 8250 serial device drivers.
> +#
> +
> +obj-$(CONFIG_SERIAL_8250)		+= 8250.o
> +obj-$(CONFIG_SERIAL_8250_PNP)		+= 8250_pnp.o
> +obj-$(CONFIG_SERIAL_8250_GSC)		+= 8250_gsc.o
> +obj-$(CONFIG_SERIAL_8250_PCI)		+= 8250_pci.o
> +obj-$(CONFIG_SERIAL_8250_HP300)		+= 8250_hp300.o
> +obj-$(CONFIG_SERIAL_8250_CS)		+= serial_cs.o
> +obj-$(CONFIG_SERIAL_8250_ACORN)		+= 8250_acorn.o
> +obj-$(CONFIG_SERIAL_8250_CONSOLE)	+= 8250_early.o
> +obj-$(CONFIG_SERIAL_8250_FOURPORT)	+= 8250_fourport.o
> +obj-$(CONFIG_SERIAL_8250_ACCENT)	+= 8250_accent.o
> +obj-$(CONFIG_SERIAL_8250_BOCA)		+= 8250_boca.o
> +obj-$(CONFIG_SERIAL_8250_EXAR_ST16C554)	+= 8250_exar_st16c554.o
> +obj-$(CONFIG_SERIAL_8250_HUB6)		+= 8250_hub6.o
> +obj-$(CONFIG_SERIAL_8250_MCA)		+= 8250_mca.o
> +obj-$(CONFIG_SERIAL_8250_FSL)		+= 8250_fsl.o
> +obj-$(CONFIG_SERIAL_8250_DW)		+= 8250_dw.o

...

> diff --git a/drivers/tty/serial/m32r_sio.c b/drivers/tty/serial/8250/m32r_sio.c
> similarity index 100%
> rename from drivers/tty/serial/m32r_sio.c
> rename to drivers/tty/serial/8250/m32r_sio.c
> diff --git a/drivers/tty/serial/m32r_sio.h b/drivers/tty/serial/8250/m32r_sio.h
> similarity index 100%
> rename from drivers/tty/serial/m32r_sio.h
> rename to drivers/tty/serial/8250/m32r_sio.h
> diff --git a/drivers/tty/serial/m32r_sio_reg.h b/drivers/tty/serial/8250/m32r_sio_reg.h
> similarity index 100%
> rename from drivers/tty/serial/m32r_sio_reg.h
> rename to drivers/tty/serial/8250/m32r_sio_reg.h

Hmm, these cannot be built now :(. Why did you move them?

It looks like they should be moved back.

regards,
-- 
js

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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
  2012-02-08 10:30                 ` Jiri Slaby
@ 2012-02-08 10:32                   ` Jiri Slaby
  2012-02-08 13:58                       ` Paul Gortmaker
  2012-02-08 14:12                       ` Paul Gortmaker
  0 siblings, 2 replies; 21+ messages in thread
From: Jiri Slaby @ 2012-02-08 10:32 UTC (permalink / raw)
  To: Paul Gortmaker
  Cc: Alan Cox, Sam Ravnborg, Arnd Bergmann, Greg Kroah-Hartman,
	Jiri Slaby, linux-serial, linux-kernel

Damnit! They didn't manage to forward Greg's email. What a crap.

On 02/08/2012 11:30 AM, Jiri Slaby wrote:
> On 01/06/2012 12:21 AM, Paul Gortmaker wrote:
>> --- /dev/null
>> +++ b/drivers/tty/serial/8250/Makefile
>> @@ -0,0 +1,20 @@
>> +#
>> +# Makefile for the 8250 serial device drivers.
>> +#
>> +
>> +obj-$(CONFIG_SERIAL_8250)		+= 8250.o
>> +obj-$(CONFIG_SERIAL_8250_PNP)		+= 8250_pnp.o
>> +obj-$(CONFIG_SERIAL_8250_GSC)		+= 8250_gsc.o
>> +obj-$(CONFIG_SERIAL_8250_PCI)		+= 8250_pci.o
>> +obj-$(CONFIG_SERIAL_8250_HP300)		+= 8250_hp300.o
>> +obj-$(CONFIG_SERIAL_8250_CS)		+= serial_cs.o
>> +obj-$(CONFIG_SERIAL_8250_ACORN)		+= 8250_acorn.o
>> +obj-$(CONFIG_SERIAL_8250_CONSOLE)	+= 8250_early.o
>> +obj-$(CONFIG_SERIAL_8250_FOURPORT)	+= 8250_fourport.o
>> +obj-$(CONFIG_SERIAL_8250_ACCENT)	+= 8250_accent.o
>> +obj-$(CONFIG_SERIAL_8250_BOCA)		+= 8250_boca.o
>> +obj-$(CONFIG_SERIAL_8250_EXAR_ST16C554)	+= 8250_exar_st16c554.o
>> +obj-$(CONFIG_SERIAL_8250_HUB6)		+= 8250_hub6.o
>> +obj-$(CONFIG_SERIAL_8250_MCA)		+= 8250_mca.o
>> +obj-$(CONFIG_SERIAL_8250_FSL)		+= 8250_fsl.o
>> +obj-$(CONFIG_SERIAL_8250_DW)		+= 8250_dw.o
> 
> ...
> 
>> diff --git a/drivers/tty/serial/m32r_sio.c b/drivers/tty/serial/8250/m32r_sio.c
>> similarity index 100%
>> rename from drivers/tty/serial/m32r_sio.c
>> rename to drivers/tty/serial/8250/m32r_sio.c
>> diff --git a/drivers/tty/serial/m32r_sio.h b/drivers/tty/serial/8250/m32r_sio.h
>> similarity index 100%
>> rename from drivers/tty/serial/m32r_sio.h
>> rename to drivers/tty/serial/8250/m32r_sio.h
>> diff --git a/drivers/tty/serial/m32r_sio_reg.h b/drivers/tty/serial/8250/m32r_sio_reg.h
>> similarity index 100%
>> rename from drivers/tty/serial/m32r_sio_reg.h
>> rename to drivers/tty/serial/8250/m32r_sio_reg.h
> 
> Hmm, these cannot be built now :(. Why did you move them?
> 
> It looks like they should be moved back.
> 
> regards,
-- 
js

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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
  2012-02-08 10:32                   ` Jiri Slaby
@ 2012-02-08 13:58                       ` Paul Gortmaker
  2012-02-08 14:12                       ` Paul Gortmaker
  1 sibling, 0 replies; 21+ messages in thread
From: Paul Gortmaker @ 2012-02-08 13:58 UTC (permalink / raw)
  To: Jiri Slaby
  Cc: Alan Cox, Sam Ravnborg, Arnd Bergmann, Greg Kroah-Hartman,
	Jiri Slaby, linux-serial, linux-kernel

On 12-02-08 05:32 AM, Jiri Slaby wrote:
> Damnit! They didn't manage to forward Greg's email. What a crap.
> 
> On 02/08/2012 11:30 AM, Jiri Slaby wrote:
>> On 01/06/2012 12:21 AM, Paul Gortmaker wrote:
>>> --- /dev/null
>>> +++ b/drivers/tty/serial/8250/Makefile
>>> @@ -0,0 +1,20 @@
>>> +#
>>> +# Makefile for the 8250 serial device drivers.
>>> +#
>>> +
>>> +obj-$(CONFIG_SERIAL_8250)		+= 8250.o
>>> +obj-$(CONFIG_SERIAL_8250_PNP)		+= 8250_pnp.o
>>> +obj-$(CONFIG_SERIAL_8250_GSC)		+= 8250_gsc.o
>>> +obj-$(CONFIG_SERIAL_8250_PCI)		+= 8250_pci.o
>>> +obj-$(CONFIG_SERIAL_8250_HP300)		+= 8250_hp300.o
>>> +obj-$(CONFIG_SERIAL_8250_CS)		+= serial_cs.o
>>> +obj-$(CONFIG_SERIAL_8250_ACORN)		+= 8250_acorn.o
>>> +obj-$(CONFIG_SERIAL_8250_CONSOLE)	+= 8250_early.o
>>> +obj-$(CONFIG_SERIAL_8250_FOURPORT)	+= 8250_fourport.o
>>> +obj-$(CONFIG_SERIAL_8250_ACCENT)	+= 8250_accent.o
>>> +obj-$(CONFIG_SERIAL_8250_BOCA)		+= 8250_boca.o
>>> +obj-$(CONFIG_SERIAL_8250_EXAR_ST16C554)	+= 8250_exar_st16c554.o
>>> +obj-$(CONFIG_SERIAL_8250_HUB6)		+= 8250_hub6.o
>>> +obj-$(CONFIG_SERIAL_8250_MCA)		+= 8250_mca.o
>>> +obj-$(CONFIG_SERIAL_8250_FSL)		+= 8250_fsl.o
>>> +obj-$(CONFIG_SERIAL_8250_DW)		+= 8250_dw.o
>>
>> ...
>>
>>> diff --git a/drivers/tty/serial/m32r_sio.c b/drivers/tty/serial/8250/m32r_sio.c
>>> similarity index 100%
>>> rename from drivers/tty/serial/m32r_sio.c
>>> rename to drivers/tty/serial/8250/m32r_sio.c
>>> diff --git a/drivers/tty/serial/m32r_sio.h b/drivers/tty/serial/8250/m32r_sio.h
>>> similarity index 100%
>>> rename from drivers/tty/serial/m32r_sio.h
>>> rename to drivers/tty/serial/8250/m32r_sio.h
>>> diff --git a/drivers/tty/serial/m32r_sio_reg.h b/drivers/tty/serial/8250/m32r_sio_reg.h
>>> similarity index 100%
>>> rename from drivers/tty/serial/m32r_sio_reg.h
>>> rename to drivers/tty/serial/8250/m32r_sio_reg.h
>>
>> Hmm, these cannot be built now :(. Why did you move them?

As near as I can tell, I think I got misled by the comment
in the m32r register file:

 * These are the UART port assignments, expressed as offsets from the base
 * register.  These assignments should hold for any serial port based on
 * a 8250, 16450, or 16550(A).

But you are right, they should not have been caught up
in the move.  I'll send a fix...  Sorry about the hassle.

P.

>>
>> It looks like they should be moved back.
>>
>> regards,

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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
@ 2012-02-08 13:58                       ` Paul Gortmaker
  0 siblings, 0 replies; 21+ messages in thread
From: Paul Gortmaker @ 2012-02-08 13:58 UTC (permalink / raw)
  To: Jiri Slaby
  Cc: Alan Cox, Sam Ravnborg, Arnd Bergmann, Greg Kroah-Hartman,
	Jiri Slaby, linux-serial, linux-kernel

On 12-02-08 05:32 AM, Jiri Slaby wrote:
> Damnit! They didn't manage to forward Greg's email. What a crap.
> 
> On 02/08/2012 11:30 AM, Jiri Slaby wrote:
>> On 01/06/2012 12:21 AM, Paul Gortmaker wrote:
>>> --- /dev/null
>>> +++ b/drivers/tty/serial/8250/Makefile
>>> @@ -0,0 +1,20 @@
>>> +#
>>> +# Makefile for the 8250 serial device drivers.
>>> +#
>>> +
>>> +obj-$(CONFIG_SERIAL_8250)		+= 8250.o
>>> +obj-$(CONFIG_SERIAL_8250_PNP)		+= 8250_pnp.o
>>> +obj-$(CONFIG_SERIAL_8250_GSC)		+= 8250_gsc.o
>>> +obj-$(CONFIG_SERIAL_8250_PCI)		+= 8250_pci.o
>>> +obj-$(CONFIG_SERIAL_8250_HP300)		+= 8250_hp300.o
>>> +obj-$(CONFIG_SERIAL_8250_CS)		+= serial_cs.o
>>> +obj-$(CONFIG_SERIAL_8250_ACORN)		+= 8250_acorn.o
>>> +obj-$(CONFIG_SERIAL_8250_CONSOLE)	+= 8250_early.o
>>> +obj-$(CONFIG_SERIAL_8250_FOURPORT)	+= 8250_fourport.o
>>> +obj-$(CONFIG_SERIAL_8250_ACCENT)	+= 8250_accent.o
>>> +obj-$(CONFIG_SERIAL_8250_BOCA)		+= 8250_boca.o
>>> +obj-$(CONFIG_SERIAL_8250_EXAR_ST16C554)	+= 8250_exar_st16c554.o
>>> +obj-$(CONFIG_SERIAL_8250_HUB6)		+= 8250_hub6.o
>>> +obj-$(CONFIG_SERIAL_8250_MCA)		+= 8250_mca.o
>>> +obj-$(CONFIG_SERIAL_8250_FSL)		+= 8250_fsl.o
>>> +obj-$(CONFIG_SERIAL_8250_DW)		+= 8250_dw.o
>>
>> ...
>>
>>> diff --git a/drivers/tty/serial/m32r_sio.c b/drivers/tty/serial/8250/m32r_sio.c
>>> similarity index 100%
>>> rename from drivers/tty/serial/m32r_sio.c
>>> rename to drivers/tty/serial/8250/m32r_sio.c
>>> diff --git a/drivers/tty/serial/m32r_sio.h b/drivers/tty/serial/8250/m32r_sio.h
>>> similarity index 100%
>>> rename from drivers/tty/serial/m32r_sio.h
>>> rename to drivers/tty/serial/8250/m32r_sio.h
>>> diff --git a/drivers/tty/serial/m32r_sio_reg.h b/drivers/tty/serial/8250/m32r_sio_reg.h
>>> similarity index 100%
>>> rename from drivers/tty/serial/m32r_sio_reg.h
>>> rename to drivers/tty/serial/8250/m32r_sio_reg.h
>>
>> Hmm, these cannot be built now :(. Why did you move them?

As near as I can tell, I think I got misled by the comment
in the m32r register file:

 * These are the UART port assignments, expressed as offsets from the base
 * register.  These assignments should hold for any serial port based on
 * a 8250, 16450, or 16550(A).

But you are right, they should not have been caught up
in the move.  I'll send a fix...  Sorry about the hassle.

P.

>>
>> It looks like they should be moved back.
>>
>> regards,

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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
  2012-02-08 10:32                   ` Jiri Slaby
@ 2012-02-08 14:12                       ` Paul Gortmaker
  2012-02-08 14:12                       ` Paul Gortmaker
  1 sibling, 0 replies; 21+ messages in thread
From: Paul Gortmaker @ 2012-02-08 14:12 UTC (permalink / raw)
  To: Jiri Slaby
  Cc: Alan Cox, Sam Ravnborg, Arnd Bergmann, Greg Kroah-Hartman,
	Jiri Slaby, linux-serial, linux-kernel

[Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/] On 08/02/2012 (Wed 11:32) Jiri Slaby wrote:

> 
> Hmm, these cannot be built now :(. Why did you move them?
> 
> It looks like they should be moved back.

Once again, sorry for the brown paper bag moment.  :(

Greg, can you ensure this gets applied at your earliest convenience?

Thanks a lot.
Paul.

---

>From 309293f382ce9beef6d8a0fd8b3cedc9900f66e1 Mon Sep 17 00:00:00 2001
From: Paul Gortmaker <paul.gortmaker@windriver.com>
Date: Wed, 8 Feb 2012 09:05:42 -0500
Subject: [PATCH] m32r: relocate drivers back out of 8250 dir

Commit 9bef3d4197379a995fa80f81950bbbf8d32e9e8b

	"serial: group all the 8250 related code together"

inadvertently swept up the m32r driver in the move, because
it had comments mentioning 8250 registers within it.  However
these are only there by nature of the driver being based off
the 8250 source code -- the hardware itself does not actually
have any relation to the original 8250 style UARTs.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 drivers/tty/serial/{8250 => }/m32r_sio.c     |    0
 drivers/tty/serial/{8250 => }/m32r_sio.h     |    0
 drivers/tty/serial/{8250 => }/m32r_sio_reg.h |    0
 3 files changed, 0 insertions(+), 0 deletions(-)
 rename drivers/tty/serial/{8250 => }/m32r_sio.c (100%)
 rename drivers/tty/serial/{8250 => }/m32r_sio.h (100%)
 rename drivers/tty/serial/{8250 => }/m32r_sio_reg.h (100%)

diff --git a/drivers/tty/serial/8250/m32r_sio.c b/drivers/tty/serial/m32r_sio.c
similarity index 100%
rename from drivers/tty/serial/8250/m32r_sio.c
rename to drivers/tty/serial/m32r_sio.c
diff --git a/drivers/tty/serial/8250/m32r_sio.h b/drivers/tty/serial/m32r_sio.h
similarity index 100%
rename from drivers/tty/serial/8250/m32r_sio.h
rename to drivers/tty/serial/m32r_sio.h
diff --git a/drivers/tty/serial/8250/m32r_sio_reg.h b/drivers/tty/serial/m32r_sio_reg.h
similarity index 100%
rename from drivers/tty/serial/8250/m32r_sio_reg.h
rename to drivers/tty/serial/m32r_sio_reg.h
-- 
1.7.9


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

* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
@ 2012-02-08 14:12                       ` Paul Gortmaker
  0 siblings, 0 replies; 21+ messages in thread
From: Paul Gortmaker @ 2012-02-08 14:12 UTC (permalink / raw)
  To: Jiri Slaby
  Cc: Alan Cox, Sam Ravnborg, Arnd Bergmann, Greg Kroah-Hartman,
	Jiri Slaby, linux-serial, linux-kernel

[Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/] On 08/02/2012 (Wed 11:32) Jiri Slaby wrote:

> 
> Hmm, these cannot be built now :(. Why did you move them?
> 
> It looks like they should be moved back.

Once again, sorry for the brown paper bag moment.  :(

Greg, can you ensure this gets applied at your earliest convenience?

Thanks a lot.
Paul.

---

>From 309293f382ce9beef6d8a0fd8b3cedc9900f66e1 Mon Sep 17 00:00:00 2001
From: Paul Gortmaker <paul.gortmaker@windriver.com>
Date: Wed, 8 Feb 2012 09:05:42 -0500
Subject: [PATCH] m32r: relocate drivers back out of 8250 dir

Commit 9bef3d4197379a995fa80f81950bbbf8d32e9e8b

	"serial: group all the 8250 related code together"

inadvertently swept up the m32r driver in the move, because
it had comments mentioning 8250 registers within it.  However
these are only there by nature of the driver being based off
the 8250 source code -- the hardware itself does not actually
have any relation to the original 8250 style UARTs.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 drivers/tty/serial/{8250 => }/m32r_sio.c     |    0
 drivers/tty/serial/{8250 => }/m32r_sio.h     |    0
 drivers/tty/serial/{8250 => }/m32r_sio_reg.h |    0
 3 files changed, 0 insertions(+), 0 deletions(-)
 rename drivers/tty/serial/{8250 => }/m32r_sio.c (100%)
 rename drivers/tty/serial/{8250 => }/m32r_sio.h (100%)
 rename drivers/tty/serial/{8250 => }/m32r_sio_reg.h (100%)

diff --git a/drivers/tty/serial/8250/m32r_sio.c b/drivers/tty/serial/m32r_sio.c
similarity index 100%
rename from drivers/tty/serial/8250/m32r_sio.c
rename to drivers/tty/serial/m32r_sio.c
diff --git a/drivers/tty/serial/8250/m32r_sio.h b/drivers/tty/serial/m32r_sio.h
similarity index 100%
rename from drivers/tty/serial/8250/m32r_sio.h
rename to drivers/tty/serial/m32r_sio.h
diff --git a/drivers/tty/serial/8250/m32r_sio_reg.h b/drivers/tty/serial/m32r_sio_reg.h
similarity index 100%
rename from drivers/tty/serial/8250/m32r_sio_reg.h
rename to drivers/tty/serial/m32r_sio_reg.h
-- 
1.7.9


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

end of thread, other threads:[~2012-02-08 14:13 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-04 20:01 [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/ Paul Gortmaker
2012-01-04 20:34 ` Jiri Slaby
2012-01-04 20:51   ` Greg KH
2012-01-04 21:07     ` Paul Gortmaker
2012-01-04 21:07       ` Paul Gortmaker
2012-01-04 22:03       ` Greg KH
2012-01-04 23:27         ` Arnd Bergmann
2012-01-05  5:42           ` Sam Ravnborg
2012-01-05 12:45             ` Alan Cox
2012-01-05 23:21               ` Paul Gortmaker
2012-01-05 23:21                 ` Paul Gortmaker
2012-01-06 13:42                 ` Greg KH
2012-02-08 10:30                 ` Jiri Slaby
2012-02-08 10:32                   ` Jiri Slaby
2012-02-08 13:58                     ` Paul Gortmaker
2012-02-08 13:58                       ` Paul Gortmaker
2012-02-08 14:12                     ` Paul Gortmaker
2012-02-08 14:12                       ` Paul Gortmaker
2012-01-04 22:01 ` Alan Cox
2012-01-04 22:43   ` Paul Gortmaker
2012-01-04 22:43     ` Paul Gortmaker

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.