* Re: [PATCH 29/29] Drivers: tty: serial: jsm: jsm_tty: fixed a brace coding style issue
From: Greg KH @ 2012-01-06 19:53 UTC (permalink / raw)
To: Lucas Kannebley Tavares
Cc: Breno Leitao, Zac Storer, leitao, linux-serial, linux-kernel,
Alan Cox
In-Reply-To: <4F074F89.6060300@linux.vnet.ibm.com>
On Fri, Jan 06, 2012 at 05:46:17PM -0200, Lucas Kannebley Tavares wrote:
> On 01/06/2012 04:26 PM, Lucas Kannebley Tavares wrote:
> >On 11/18/2011 12:30 PM, Breno Leitao wrote:
> >>On 11/18/2011 03:03 AM, Zac Storer wrote:
> >>>Fixed a brace coding style issue.
> >>>
> >>>Signed-off-by: Zac Storer<zac.3.14159@gmail.com>
> >>Acked-by: Breno Leitao<brenohl@br.ibm.com>
> >Acked-by: Lucas Kannebley Tavares<lucaskt@linux.vnet.ibm.com>
> >
>
> Adding Alan and Greg so they can catch this up on their trees.
Catch what up with what?
What patch is this? Where is it? Why wasn't it sent to me in the first
place?
Also note, the merge window for new patches to be sent to subsystem
maintainers has been over for a week or so now, all of of the
maintainers are now busy merging stuff with Linus, so trivial stuff like
this is going to have to wait a few weeks at the earliest before it can
start to be queued up.
thanks,
greg k-h
^ permalink raw reply
* Re: [PATCH 29/29] Drivers: tty: serial: jsm: jsm_tty: fixed a brace coding style issue
From: Lucas Kannebley Tavares @ 2012-01-06 19:46 UTC (permalink / raw)
To: Breno Leitao
Cc: Zac Storer, leitao, linux-serial, linux-kernel, Greg KH, Alan Cox
In-Reply-To: <4F073CF3.70604@linux.vnet.ibm.com>
On 01/06/2012 04:26 PM, Lucas Kannebley Tavares wrote:
> On 11/18/2011 12:30 PM, Breno Leitao wrote:
>> On 11/18/2011 03:03 AM, Zac Storer wrote:
>>> Fixed a brace coding style issue.
>>>
>>> Signed-off-by: Zac Storer<zac.3.14159@gmail.com>
>> Acked-by: Breno Leitao<brenohl@br.ibm.com>
> Acked-by: Lucas Kannebley Tavares<lucaskt@linux.vnet.ibm.com>
>
Adding Alan and Greg so they can catch this up on their trees.
^ permalink raw reply
* Re: [PATCH 29/29] Drivers: tty: serial: jsm: jsm_tty: fixed a brace coding style issue
From: Lucas Kannebley Tavares @ 2012-01-06 18:26 UTC (permalink / raw)
To: Breno Leitao; +Cc: Zac Storer, leitao, linux-serial, linux-kernel
In-Reply-To: <4EC66C07.9020009@br.ibm.com>
On 11/18/2011 12:30 PM, Breno Leitao wrote:
> On 11/18/2011 03:03 AM, Zac Storer wrote:
>> Fixed a brace coding style issue.
>>
>> Signed-off-by: Zac Storer<zac.3.14159@gmail.com>
> Acked-by: Breno Leitao<brenohl@br.ibm.com>
Acked-by: Lucas Kannebley Tavares<lucaskt@linux.vnet.ibm.com>
^ permalink raw reply
* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
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
In-Reply-To: <20120105232142.GA10870@windriver.com>
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
* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
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
In-Reply-To: <20120105124505.73c88f2c@bob.linux.org.uk>
[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
* Re: USB disconnect -> kernel panic
From: Greg KH @ 2012-01-05 20:04 UTC (permalink / raw)
To: Bdale Garbee
Cc: Sarah Sharp, Oliver Neukum, keithp-aN4HjG94KOLQT0dZR+AlfA,
linux-usb-u79uwXL29TY76Z2rM5mHXA,
linux-serial-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <87mxa2ww0f.fsf-wvU4uTqWWAI@public.gmane.org>
On Wed, Jan 04, 2012 at 10:36:48PM -0700, Bdale Garbee wrote:
> On Wed, 4 Jan 2012 15:01:49 -0800, Greg KH <greg-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org> wrote:
> > Ok, can you try the patch below and let me know if it solves the problem
> > or not?
>
> It's hard to prove a negative, but after applying the patch to 3.2.0-rc7
> and running with it for a while doing frequent power cycles on our
> devices attached via USB, abruptly disconnecting USB during active
> serial connections, etc .. I haven't seen the panic again.
>
> Will report if it happens again with the patch in place, but so far so good.
Thanks, I'll queue this up then, and work to solve this in the "correct"
way in a week or so.
thanks,
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
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
In-Reply-To: <20120105054240.GA9093@merkur.ravnborg.org>
> 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
* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
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
In-Reply-To: <201201042327.33739.arnd@arndb.de>
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
* Re: USB disconnect -> kernel panic
From: Bdale Garbee @ 2012-01-05 5:36 UTC (permalink / raw)
To: Greg KH; +Cc: Sarah Sharp, Oliver Neukum, keithp, linux-usb, linux-serial
In-Reply-To: <20120104230149.GA16655@kroah.com>
[-- Attachment #1: Type: text/plain, Size: 504 bytes --]
On Wed, 4 Jan 2012 15:01:49 -0800, Greg KH <greg@kroah.com> wrote:
> Ok, can you try the patch below and let me know if it solves the problem
> or not?
It's hard to prove a negative, but after applying the patch to 3.2.0-rc7
and running with it for a while doing frequent power cycles on our
devices attached via USB, abruptly disconnecting USB during active
serial connections, etc .. I haven't seen the panic again.
Will report if it happens again with the patch in place, but so far so good.
Bdale
[-- Attachment #2: Type: application/pgp-signature, Size: 827 bytes --]
^ permalink raw reply
* Re: [GIT PULL] tty: serial: imx changes for 3.3
From: Greg KH @ 2012-01-05 0:30 UTC (permalink / raw)
To: Shawn Guo
Cc: Greg Kroah-Hartman, Alan Cox, Sascha Hauer, linux-arm-kernel,
linux-serial
In-Reply-To: <20120105002826.GA2764@kroah.com>
On Wed, Jan 04, 2012 at 04:28:26PM -0800, Greg KH wrote:
> On Sun, Jan 01, 2012 at 09:04:12AM +0800, Shawn Guo wrote:
> > Hi Greg,
> >
> > I collected a few imx tty/serial changes below for 3.3. Can you please
> > take a look and consider to pull the branch for 3.3 if it looks all
> > good to you?
> >
> > Regards,
> > Shawn
> >
> > The following changes since commit 5f0a6e2d503896062f641639dacfe5055c2f593b:
> >
> > Linux 3.2-rc7 (2011-12-23 21:51:06 -0800)
>
> Ugh, my tty-next tree is not based on this branch, and I don't see the
> need to cause the merge, so can you just send me the patches as emails
> so that I can apply them that way?
Nevermind, I've picked them out and applied them now.
thanks,
greg k-h
^ permalink raw reply
* Re: [GIT PULL] tty: serial: imx changes for 3.3
From: Greg KH @ 2012-01-05 0:28 UTC (permalink / raw)
To: Shawn Guo
Cc: Greg Kroah-Hartman, Alan Cox, Sascha Hauer, linux-arm-kernel,
linux-serial
In-Reply-To: <20120101010411.GB13061@S2100-06.ap.freescale.net>
On Sun, Jan 01, 2012 at 09:04:12AM +0800, Shawn Guo wrote:
> Hi Greg,
>
> I collected a few imx tty/serial changes below for 3.3. Can you please
> take a look and consider to pull the branch for 3.3 if it looks all
> good to you?
>
> Regards,
> Shawn
>
> The following changes since commit 5f0a6e2d503896062f641639dacfe5055c2f593b:
>
> Linux 3.2-rc7 (2011-12-23 21:51:06 -0800)
Ugh, my tty-next tree is not based on this branch, and I don't see the
need to cause the merge, so can you just send me the patches as emails
so that I can apply them that way?
thanks,
greg k-h
^ permalink raw reply
* Re: [PATCH] serial: driver for m32 arch should not have DEC alpha errata
From: Alan Cox @ 2012-01-05 0:36 UTC (permalink / raw)
To: Paul Gortmaker; +Cc: gregkh, linux-serial, linux-kernel
In-Reply-To: <1325708184-9861-1-git-send-email-paul.gortmaker@windriver.com>
On Wed, 4 Jan 2012 15:16:24 -0500
Paul Gortmaker <paul.gortmaker@windriver.com> wrote:
> This driver was copied from the original 8250 driver and hence
> got the DEC alpha errata workaround. But the workaround is ugly
> and we don't really want it in any more places than it absolutely
> needs to be. Obviously ARCH=m32r means ARCH != alpha, so just
> remove the references to the ALPHA_KLUDGE_MCR define.
>
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Acked-by: Alan Cox <alan@linux.intel.com>
^ permalink raw reply
* Re: USB disconnect -> kernel panic
From: Greg KH @ 2012-01-05 0:11 UTC (permalink / raw)
To: Alan Cox
Cc: Bdale Garbee, Sarah Sharp, Oliver Neukum,
keithp-aN4HjG94KOLQT0dZR+AlfA, linux-usb-u79uwXL29TY76Z2rM5mHXA,
linux-serial-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <20120104232659.05da01ee-38n7/U1jhRXW96NNrWNlrekiAK3p4hvP@public.gmane.org>
On Wed, Jan 04, 2012 at 11:26:59PM +0000, Alan Cox wrote:
> > Ok, can you try the patch below and let me know if it solves the problem
> > or not?
>
> If it does the right fix is to stop clearing tty->driver_data. If
> tty->driver_data can go NULL outside of the final release then its
> probably an exploitable hole.
So in acm_tty_close() we shouldn't set driver_data to NULL after we
unregister the device?
Ah, that should happen in tty_operations->cleanup()? It seems that
cdc_acm.c doesn't have that function, which is causing this problem now,
right?
thanks,
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
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
In-Reply-To: <20120104220332.GA22985@suse.de>
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
* Re: USB disconnect -> kernel panic
From: Alan Cox @ 2012-01-04 23:26 UTC (permalink / raw)
To: Greg KH
Cc: Bdale Garbee, Sarah Sharp, Oliver Neukum, keithp, linux-usb,
linux-serial
In-Reply-To: <20120104230149.GA16655@kroah.com>
> Ok, can you try the patch below and let me know if it solves the problem
> or not?
If it does the right fix is to stop clearing tty->driver_data. If
tty->driver_data can go NULL outside of the final release then its
probably an exploitable hole.
^ permalink raw reply
* Re: USB disconnect -> kernel panic
From: Greg KH @ 2012-01-04 23:01 UTC (permalink / raw)
To: Bdale Garbee
Cc: Sarah Sharp, Oliver Neukum, keithp-aN4HjG94KOLQT0dZR+AlfA,
linux-usb-u79uwXL29TY76Z2rM5mHXA,
linux-serial-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <87fwfwmaeo.fsf-wvU4uTqWWAI@public.gmane.org>
On Tue, Jan 03, 2012 at 08:09:03PM -0700, Bdale Garbee wrote:
> On Tue, 3 Jan 2012 15:58:47 -0800, Greg KH <greg-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org> wrote:
> > On Mon, Jan 02, 2012 at 10:22:55AM -0800, Sarah Sharp wrote:
> > > On Sat, Dec 24, 2011 at 03:32:26PM -0700, Bdale Garbee wrote:
> > > > Hi Sarah! Merry Christmas!
> > > >
> > > > I've been working on another production run of Altus Metrum products
> > > > today, and in the process of flashing and calibrating a pile of our
> > > > TeleDongle units, I've been seeing sporadic kernel panics when
> > > > unplugging them from my notebook USB. Has now happened three times this
> > > > morning.
> > > >
> > > > I'm running 3.1.6 now, but I saw this under 3.1.5 too, at least once.
> > > > The notebook is an HP 2540p.
> > > >
> > > > Keith suggested I send you the attached photo of my screen showing the
> > > > panic info.
> > >
> > > It's somewhere in the tty layer, and doesn't look USB related. I think
> > > Greg KH is the tty maintainer right now, so you might want to ask him.
> >
> > We've had some cdc_acm driver problems in the past, but I thought they
> > were all resolved. 3.1.3 should have fixed those problems. We have
> > some more cleanups queued up for 3.3, but nothing that should be fixing
> > something like this.
> >
> > Oliver, any thoughts about this (see the original post on linux-usb for
> > the crash dump.)
>
> For what it's worth, it happened to me again today running 3.2.0-rc7. I
> didn't bother photographing the screen again, though I'm happy to do
> that if it'll help.
Ok, can you try the patch below and let me know if it solves the problem
or not?
thanks,
greg k-h
-------------------
From: Thilo-Alexander Ginkel <thilo-6Cr7QIIRUuHQT0dZR+AlfA@public.gmane.org>
Subject: usb: cdc-acm: Fix acm_tty_hangup() vs. acm_tty_close() race
There is a race condition involving acm_tty_hangup() and acm_tty_close() where
hangup() would attempt to access tty->driver_data without proper locking and
NULL checking after close() has potentially already set it to NULL.
One possibility to (sporadically) trigger this behavior is to perform a
suspend/resume cycle with a running WWAN data connection.
This patch addresses the issue by introducing a NULL check for
tty->driver_data in acm_tty_hangup() protected by open_mutex and exiting
gracefully when hangup() is invoked on a device that has already been closed.
Signed-off-by: Thilo-Alexander Ginkel <thilo-6Cr7QIIRUuHQT0dZR+AlfA@public.gmane.org>
---
drivers/usb/class/cdc-acm.c | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index a8078d0..97f2e58 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -554,10 +554,18 @@ static void acm_port_down(struct acm *acm)
static void acm_tty_hangup(struct tty_struct *tty)
{
- struct acm *acm = tty->driver_data;
- tty_port_hangup(&acm->port);
+ struct acm *acm;
+
mutex_lock(&open_mutex);
+ acm = tty->driver_data;
+
+ if (!acm)
+ goto out;
+
+ tty_port_hangup(&acm->port);
acm_port_down(acm);
+
+out:
mutex_unlock(&open_mutex);
}
--
1.7.5.4
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related
* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
From: Paul Gortmaker @ 2012-01-04 22:43 UTC (permalink / raw)
To: Alan Cox; +Cc: alan, gregkh, linux-serial, linux-kernel
In-Reply-To: <20120104220158.3300d65b@pyramind.ukuu.org.uk>
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
* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
From: Greg KH @ 2012-01-04 22:03 UTC (permalink / raw)
To: Paul Gortmaker; +Cc: Jiri Slaby, alan, linux-serial, linux-kernel, Jiri Slaby
In-Reply-To: <4F04BFA8.9010100@windriver.com>
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
* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
From: Alan Cox @ 2012-01-04 22:01 UTC (permalink / raw)
To: Paul Gortmaker; +Cc: alan, gregkh, linux-serial, linux-kernel
In-Reply-To: <1325707287-31038-1-git-send-email-paul.gortmaker@windriver.com>
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
* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
From: Paul Gortmaker @ 2012-01-04 21:07 UTC (permalink / raw)
To: Greg KH; +Cc: Jiri Slaby, alan, linux-serial, linux-kernel, Jiri Slaby
In-Reply-To: <20120104205146.GA21430@suse.de>
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
* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
From: Greg KH @ 2012-01-04 20:51 UTC (permalink / raw)
To: Jiri Slaby; +Cc: Paul Gortmaker, alan, linux-serial, linux-kernel, Jiri Slaby
In-Reply-To: <4F04B7DC.70809@suse.cz>
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
* Re: [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
From: Jiri Slaby @ 2012-01-04 20:34 UTC (permalink / raw)
To: Paul Gortmaker; +Cc: alan, gregkh, linux-serial, linux-kernel, Jiri Slaby
In-Reply-To: <1325707287-31038-1-git-send-email-paul.gortmaker@windriver.com>
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
* [PATCH] serial: driver for m32 arch should not have DEC alpha errata
From: Paul Gortmaker @ 2012-01-04 20:16 UTC (permalink / raw)
To: alan, gregkh; +Cc: linux-serial, linux-kernel
This driver was copied from the original 8250 driver and hence
got the DEC alpha errata workaround. But the workaround is ugly
and we don't really want it in any more places than it absolutely
needs to be. Obviously ARCH=m32r means ARCH != alpha, so just
remove the references to the ALPHA_KLUDGE_MCR define.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
diff --git a/drivers/tty/serial/m32r_sio.c b/drivers/tty/serial/m32r_sio.c
index 0801893..94a6792 100644
--- a/drivers/tty/serial/m32r_sio.c
+++ b/drivers/tty/serial/m32r_sio.c
@@ -1000,11 +1000,8 @@ static void __init m32r_sio_register_ports(struct uart_driver *drv)
init_timer(&up->timer);
up->timer.function = m32r_sio_timeout;
- /*
- * ALPHA_KLUDGE_MCR needs to be killed.
- */
- up->mcr_mask = ~ALPHA_KLUDGE_MCR;
- up->mcr_force = ALPHA_KLUDGE_MCR;
+ up->mcr_mask = ~0;
+ up->mcr_force = 0;
uart_add_one_port(drv, &up->port);
}
--
1.7.7
^ permalink raw reply related
* [PATCH] serial: relocate remaining serial drivers from tty/ to tty/serial/
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
* Re: USB disconnect -> kernel panic
From: Keith Packard @ 2012-01-04 17:26 UTC (permalink / raw)
To: Oliver Neukum, Greg KH
Cc: Sarah Sharp, Oliver Neukum, Bdale Garbee, linux-usb, linux-serial
In-Reply-To: <201201041001.57080.oneukum@suse.de>
[-- Attachment #1: Type: text/plain, Size: 596 bytes --]
On Wed, 4 Jan 2012 10:01:57 +0100, Oliver Neukum <oneukum@suse.de> wrote:
> Do you have a pointer? I assumed this to be this issue:
> http://www.spinics.net/lists/linux-usb/msg55779.html
> And I am waiting for the announced patch.
The patch was posted to the list about half an hour after the Thilo's
first message:
From: Thilo-Alexander Ginkel <thilo@ginkel.com>
Subject: [PATCH 1/1] usb: cdc-acm: Fix acm_tty_hangup() vs. acm_tty_close() race
Date: Sat, 17 Dec 2011 10:55:10 +0100
Message-Id: <1324115710-14756-1-git-send-email-thilo@ginkel.com>
--
keith.packard@intel.com
[-- Attachment #2: Type: application/pgp-signature, Size: 827 bytes --]
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox