aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial
Commit message (Collapse)AuthorAge
* [SERIAL] mark several serial tables constArjan van de Ven2005-11-28
| | | | | | | | | This patch marks a few serial data structures const, moving them to .rodata where they won't false-share cachelines with things that get written to. Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [SERIAL] imx: Fix missed platform_driver_unregisterRussell King2005-11-21
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* Merge master.kernel.org:/home/rmk/linux-2.6-serialLinus Torvalds2005-11-19
|\
| * [SERIAL] Remove unused variable in sa1100.cRussell King2005-11-19
| | | | | | | | | | | | | | Since the spinlock was removed from sa1100_start_tx(), the "flags" variable becomes redundant. Remove it. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [SERIAL] Fix status reporting with PL011 serial driverRussell King2005-11-19
| | | | | | | | | | | | | | | | | | The receiver status register reports latched error conditions, which must be cleared by writing to it. However, the data register reports unlatched conditions which are associated with the current character. Use the data register to interpret error status rather than the RSR. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [PARISC] Make Serial MUX depend on a specific bus type.Matthew Wilcox2005-11-18
| | | | | | | | | | | | | | Depend on GSC, not PARISC. Machines without GSC don't have a MUX. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
* | [PARISC] Define port->timeout to fix a long msleep in mux.cRyan Bradetich2005-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit is in response to a bug reported by Vesa on the irc channel a couple of weeks ago. The bug was that the console would apparently hang (not return) while using the mux console. The root cause of this bug is that bash (with readline support) makes a call to the tcsetattr() glibc function with the argument TCSADRAIN. This causes the serial core in the kernel use the uart_wait_until_sent() to be called. This function verifies the mux transmit queue is empty or calls the msleep_interruptable() with a calculated timeout value that is dependant upon the port->timeout variable. The real problem here is that the port->timeout was not defined so it was defaulted to 0 and the timeout calculation performs the following calculation: char_time = (port->timeout - HZ/50) / port->fifosize; where char_time is an unsigned long. Since the serial Mux does not use interrupts, the msleep_interruptable() function waits until the timeout has been reached ... and when the port->timeout < HZ/50 this timeout will be a long time. (I have validated that the console will eventually return ... but it takes quite a while for this to happen). This patch simply sets the port->timeout on the Mux to HZ/50 to avoid this long timeout period. Signed-off-by: Ryan Bradetich <rbrad@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
* | [PARISC] Compile fixups for serial/mux.cRyan Bradetich2005-11-17
|/ | | | | | | | | This patch does the following: * Fixes compiler warnings. * Replaces a __raw_readl call with the existing macro. Signed-off-by: Ryan Bradetich <rbrad@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
* Merge master.kernel.org:/home/rmk/linux-2.6-serialLinus Torvalds2005-11-13
|\
| * [SERIAL] Fix Bug 4900: S3 resume oops with irattach - Thinkpad A21mRussell King2005-11-13
| | | | | | | | | | | | | | If we fail to re-startup a serial port on resume, shut it down immediately and mark it as an error condition. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [SERIAL] sa1100_start_tx spinlock recursionFlorin Malita2005-11-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The serial core aquires the port spinlock before calling port->ops->start_tx(), so sa1100_start_tx() shouldn't try to lock it again. BUG: spinlock recursion on CPU#0, init/1 lock: c0205f20, .magic: dead4ead, .owner: init/1, .owner_cpu: 0 [<c0022cdc>] (dump_stack+0x0/0x14) [<c00dc338>] (spin_bug+0x0/0xbc) [<c00dc6b0>] (_raw_spin_lock+0x0/0x170) r8 = 00000007 r7 = C02FE0070 [<c018a2a8>] (_spin_lock_irqsave+0x0/0x24) r4 = C0205F20 [<c0112110>] (sa1100_start_tx+0x0/0x40) r4 = C038C000 [<c010ee38>] (__uart_start+0x0/0x5c) [<c010ee94>] (uart_start+0x0/0x3 [<c010f1d0>] (uart_write+0x0/0xdc) [<c00fee34>] (write_chan+0x0/0x370 Signed-off-by: Florin Malita <fmalita@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [SERIAL] Claim Wacom tablet device on HP tc1100 tabletBjorn Helgaas2005-11-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Claim the WACF005 device. This is the pen display pointing device on the HP Compaq tc1100 Tablet PC. More information about using this device, including using it as an X pointer device: http://www.theory.bham.ac.uk/staff/schofield/linux/tc1100/ Christopher Kemp <ck231@cam.ac.uk> did the legwork of determining that the WACF005 is really just a plain old UART and doing an initial ACPI driver (before we had PNPACPI), and David Ludlow <dave@adsllc.com> confirmed that PNPACPI + the attached patch is now sufficient: pnp: Device 00:05 activated. ttyS4 at I/O 0x300 (irq = 4) is a 16550A Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [SERIAL] Fix mpc52xx_uart.cAndrey Volkov2005-11-12
| | | | | | | | | | | | | | Fix copy-paste bug in mpc52xx_uart.c (pdev<->dev) Signed-off-by: Andrey Volkov <avolkov@varma-el.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [SERIAL] dz: Use CKSEG1ADDR to setup mappings.Ralf Baechle2005-11-12
| | | | | | | | | | | | | | | | | | Use physical addresses at the interface level, letting drivers remap them as appropriate. Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [SERIAL] dz: Nuke trailing whitespaceRalf Baechle2005-11-12
| | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [SERIAL] don't disable xscale serial ports after autoconfigLennert Buytenhek2005-11-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | xscale-type UARTs have an extra bit (UUE) in the IER register that has to be written as 1 to enable the UART. At the end of autoconfig() in drivers/serial/8250.c, the IER register is unconditionally written as zero, which turns off the UART, and makes any subsequent printch() hang the box. Since other 8250-type UARTs don't have this enable bit and are thus always 'enabled' in this sense, it can't hurt to enable xscale-type serial ports all the time as well. The attached patch changes the autoconfig() exit path to see if the port has an UUE enable bit, and if yes, to write UUE=1 instead of just putting a zero into IER, using the same test as is used at the beginning of serial8250_console_write(). Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [PATCH] Update email address for KumarKumar Gala2005-11-13
| | | | | | | | | | | | | | | | Changed jobs and the Freescale address is no longer valid. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] move pm_register/etc. to CONFIG_PM_LEGACY, pm_legacy.hJeff Garzik2005-11-13
|/ | | | | | | | Since few people need the support anymore, this moves the legacy pm_xxx functions to CONFIG_PM_LEGACY, and include/linux/pm_legacy.h. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [DRIVER MODEL] Convert platform drivers to use struct platform_driverRussell King2005-11-09
| | | | | | | | | This allows us to eliminate the casts in the drivers, and eventually remove the use of the device_driver function pointer methods for platform device drivers. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
* [SUNSU]: Do not mark sunsu_console_setup() __initDavid S. Miller2005-11-07
| | | | | | Sets off buildcheck warnings. Signed-off-by: David S. Miller <davem@davemloft.net>
* [PATCH] m68knommu: add 5208 ColdFire UART support to ColdFire serial driverGreg Ungerer2005-11-07
| | | | | | | | | | | Add support for the Freescale 5208 processor UART's to the common ColdFire serial port code. Patch originally from Matt Waddel (from code originally written by Mike Lavender). Signed-off-by: Greg Ungerer <gerg@uclinux.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] serial: fix-up schedule_timeout() usageNishanth Aravamudan2005-11-07
| | | | | | | | | | Use schedule_timeout_uninterruptible() instead of set_current_state()/schedule_timeout() to reduce kernel size. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] serial console: touch NMI watchdogAndrew Morton2005-11-07
| | | | | | | | Large console spews from IRQ or local_irq_disable() sections can cause the NMI watchdog to go off. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [SERIAL] Support Au1x00 8250 UARTs using the generic 8250 driver.Pantelis Antoniou2005-11-06
| | | | | | | | The offsets of the registers are in a different place, and some parts cannot handle a full set of modem control signals. Signed-off-by: Pantelis Antoniou <pantelis@embeddedalley.ocm> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* Merge master.kernel.org:/home/rmk/linux-2.6-serialLinus Torvalds2005-11-04
|\
| * [SERIAL] 8250_early.c passing 0 instead of NULLBen Dooks2005-11-03
| | | | | | | | | | | | | | Fix sparse warning about passing `0` to simple_strtoul() Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [PATCH] ARM: Reverted 2918/1: [update] Base port of Comdial MP1000 platfromRussell King2005-11-04
|/ | | | No longer maintained
* Merge master.kernel.org:/home/rmk/linux-2.6-serialLinus Torvalds2005-11-02
|\
| * [SERIAL] Arrange better identification of portsRussell King2005-10-31
| | | | | | | | | | | | | | | | | | | | Folk seem to get confused when they see two or more ttyS0 ports appearing at boot time. One comes from the legacy table, and one from PNP. Hence, display the bus ID of the device which supplied the port. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | Merge master.kernel.org:/home/rmk/linux-2.6-drvmodelLinus Torvalds2005-10-31
|\ \ | |/ |/| | | Manual #include fixups for clashes - there may be some unnecessary
| * [DRIVER MODEL] Add missing driver_unregister to IMX serial driverRussell King2005-10-30
| | | | | | | | | | | | | | | | Fix the IMX serial driver to unregister its driver structure when it is unloaded. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Create platform_device.h to contain all the platform device details.Russell King2005-10-29
| | | | | | | | | | | | | | | | Convert everyone who uses platform_bus_type to include linux/platform_device.h. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
* | Merge master.kernel.org:/home/rmk/linux-2.6-serialLinus Torvalds2005-10-30
|\ \
| * | [SERIAL] remove unneeded code from serial_core.cJayachandran C2005-10-30
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes an issue reported by Coverity in serial/serial_core.c Error reported: Variable "&((info)->tty)->flags" tracked as NULL was passed to a function that dereferences it. The later statements in the function assumes 'info->tty != NULL', so this check is not necessary. Probably a 'BUG_ON(info->tty == NULL)' can be added. Signed-off-by: Jayachandran C. <c.jayachandran at gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [PATCH] Added a Receive_Abort to the Marvell serial driverCarlos Sanchez2005-10-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a Receive_Abort to the Marvell serial driver Fix occasional input overrun errors on Marvell serial driver - If the Marvell serial driver is repeatedly started and then stopped it will occasionally report an input overrun error when started. - Added a Receive_Abort to the Marvell serial driver to abort previously received receive errors when re-starting the receive Acked-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Carlos Sanchez <csanchez@mvista.com> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] ioc4 serial support - mostly cleanupPat Gefre2005-10-30
|/ | | | | | | | | | | Various small mods for the Altix ioc4 serial driver - mostly cleanup: - remove UIF_INITIALIZED usage - use the 'lock' from uart_port - better multiple card support Signed-off-by: Patrick Gefre <pfg@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6Linus Torvalds2005-10-28
|\
| * Merge ../bleed-2.6Greg KH2005-10-28
| |\
| * | [PATCH] DRIVER MODEL: Get rid of the obsolete tri-level suspend/resume callbacksRussell King2005-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In PM v1, all devices were called at SUSPEND_DISABLE level. Then all devices were called at SUSPEND_SAVE_STATE level, and finally SUSPEND_POWER_DOWN level. However, with PM v2, to maintain compatibility for platform devices, I arranged for the PM v2 suspend/resume callbacks to call the old PM v1 suspend/resume callbacks three times with each level in order so that existing drivers continued to work. Since this is obsolete infrastructure which is no longer necessary, we can remove it. Here's an (untested) patch to do exactly that. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | | Merge branch 'forlinus' of git://parisc-linux.org/home/kyle/git/parisc-2.6Linus Torvalds2005-10-28
|\ \ \ | |_|/ |/| |
| * | Auto-update from upstreamKyle McMartin2005-10-26
| |\|
| * | [PARISC] Fix mux.c driverMatthew Wilcox2005-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Missing spin_lock_init() made the Mux driver hang on SMP systems. Fix up users of ->hpa to use ->hpa.start instead Remove warning in 8250_gsc.c by eliminating serial_line_nr Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
| * | [PARISC] Convert parisc_device to use struct resource for hpaMatthew Wilcox2005-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert pa_dev->hpa from an unsigned long to a struct resource. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Fix up users of ->hpa to use ->hpa.start instead. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
| * | [PARISC] Change the driver names so /sys/bus/parisc/drivers/ looks betterMatthew Wilcox2005-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | Make /sys/bus/parisc/drivers look better by cleaning up parisc_driver names. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
* | | [ARM] 3029/1: Add HWUART support for PXA 255/26xMatt Reimer2005-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Matt Reimer Adds support for HWUART on PXA 255 / 26x. This patch originally came from http://svn.rungie.com/svn/gumstix-buildroot/trunk/sources/kernel-patches/000-gumstix-hwuart.patch and has been tweaked by me. Signed-off-by: Matt Reimer <mreimer@vpop.net> Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | | [ARM] 2918/1: [update] Base port of Comdial MP1000 platfromJon Ringle2005-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Jon Ringle Updated 2898/1 per comments: - Removed fixup - Moved code in mach-mp1000/ to mach-clps711x/ - Cleaned up code in mp1000-seprom.c. Eliminated code that displayed the contents of the eeprom Please comment. Signed-off-by: Jon Ringle Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | | [ARM] 3/4: Remove asm/hardware.h from Versatile and Integrator io.hRussell King2005-10-28
| |/ |/| | | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [SERIAL] new hp diva console portJustin Chen2005-10-24
| | | | | | | | | | | | | | | | Add the new ID 0x132a and configure the new PCI Diva console port. This device supports only 1 single console UART. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [SERIAL] support the Exsys EX-4055 4S four-port cardBjorn Helgaas2005-10-24
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tested by Wolfgang Denk with this device: 00:0f.0 Network controller: PLX Technology, Inc. PCI <-> IOBus Bridge (rev 01) Subsystem: Exsys EX-4055 4S(16C550) RS-232 Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Interrupt: pin A routed to IRQ 10 Region 0: Memory at 80100000 (32-bit, non-prefetchable) [size=128] Region 1: I/O ports at 7080 [size=128] Region 2: I/O ports at 7400 [size=32] 00:0f.0 Class 0280: 10b5:9050 (rev 01) Subsystem: d84d:4055 Results with this patch: Serial: 8250/16550 driver $Revision: 1.90 $ 32 ports, IRQ sharing enabled ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A PCI: Found IRQ 10 for device 0000:00:0f.0 ttyS4 at I/O 0x7400 (irq = 10) is a 16550A ttyS5 at I/O 0x7408 (irq = 10) is a 16550A ttyS6 at I/O 0x7410 (irq = 10) is a 16550A ttyS7 at I/O 0x7418 (irq = 10) is a 16550A Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [SERIAL] Add SupraExpress 56i supportmaximilian attems2005-10-15
| | | | | | | | The modem is said to work with belows addition to pnp_dev_table[]: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=296011 Signed-off-by: maximilian attems <janitor@sternwelten.at> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>