summaryrefslogtreecommitdiffstats
path: root/drivers/serial
AgeCommit message (Collapse)AuthorFilesLines
2009-01-13fix early_serial_setup() regressionHelge Deller1-0/+2
Commit b430428a188e8a434325e251d0704af4b88b4711 ("8250: Don't clobber spinlocks.") introduced a regression on the parisc architecture, which broke the handover to the serial port at boottime. early_serial_setup() was changed to only copy a subset of the uart_port fields, and sadly the "type" and "line" fields were forgotten and thus the serial port was not initialized and could not be used for a handover. This patch fixes this by copying the missing fields. As this change to early_serial_setup() doesn't need an initialized spinlock in the uart_port struct any longer, we can drop the spinlock initialization in the superio driver. Cc: David Daney <ddaney@caviumnetworks.com> Cc: Tomaso Paoletti <tpaoletti@caviumnetworks.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Acked-by: Kyle McMartin <kyle@mcmartin.ca> Cc: linux-parisc@vger.kernel.org Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-12neo: Remove a bogus NULL checkAlan Cox1-3/+0
Julia Lawall found an un-needed check in the neo driver. Her patch moves the check to cover the code dereferencing it, however it cannot be NULL anyway so remove the NULL check instead. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-08Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds1-1/+1
* master.kernel.org:/home/rmk/linux-2.6-arm: (23 commits) [ARM] fix pxa930_trkball build errors [ARM] fix netx [ARM] fix pnx4008 [ARM] fix pxa [ARM] remove missed CLPS7500 defconfig [ARM] clps711x: fix warning in edb7211-mm.c [ARM] clps711x: fix warning in fortunet [ARM] fix AT91, davinci, h720x, ks8695, msm, mx2, mx3, netx, omap1, omap2, pxa, s3c [ARM] Fix realview build [ARM] 5357/1: Kirkwood: add missing ge01 tclk initialization [ARM] 5358/1: AT2440EVB: Use new include path of mci.h [ARM] 5361/1: mv78xx0: fix compilation error [ARM] 5360/1: Orion: fix compilation error [ARM] 5359/1: Kirkwood: fix compilation error [ARM] S3C64XX: Fix EINT group macro definition [ARM] Ensure CONFIG_SERIAL_SAMSUNG_UARTS is always set. [ARM] S3C24XX: Add gpio_to_irq implementation [ARM] S3C24XX: Add gpio_to_irq() facility [ARM] footbridge: dc21285.c warning fixes [ARM] footbridge: add isa_init_irq() to common header ...
2009-01-08[ARM] Ensure CONFIG_SERIAL_SAMSUNG_UARTS is always set.Ben Dooks1-1/+1
Always set CONFIG_SERIAL_SAMSUNG_UARTS when building any of the S3C platforms as even if the driver is not selected there it is still the facility for the machine files to register configuration data for the possibility of the driver being built. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-01-08serial: Add driver for the Cell Network Processor serial port NWP deviceBenjamin Krill4-1/+513
Add support for the nwp serial device which is connected to a DCR bus. It uses the of_serial device driver to determine necessary properties from the device tree. The supported device is added as serial port number 85. NWP stands for network processor and it is part of the QPACE - Quantum Chromodynamics Parallel Computing on the Cell Broadband Engine project. The implementation is a lightweight uart implementation with the focus to consume as little resources as possible and it is connected to a DCR bus. Signed-off-by: Benjamin Krill <ben@codiert.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2009-01-07Merge branch 'for-linus' of ↵Linus Torvalds2-3/+3
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (24 commits) trivial: chack -> check typo fix in main Makefile trivial: Add a space (and a comma) to a printk in 8250 driver trivial: Fix misspelling of "firmware" in docs for ncr53c8xx/sym53c8xx trivial: Fix misspelling of "firmware" in powerpc Makefile trivial: Fix misspelling of "firmware" in usb.c trivial: Fix misspelling of "firmware" in qla1280.c trivial: Fix misspelling of "firmware" in a100u2w.c trivial: Fix misspelling of "firmware" in megaraid.c trivial: Fix misspelling of "firmware" in ql4_mbx.c trivial: Fix misspelling of "firmware" in acpi_memhotplug.c trivial: Fix misspelling of "firmware" in ipw2100.c trivial: Fix misspelling of "firmware" in atmel.c trivial: Fix misspelled firmware in Kconfig trivial: fix an -> a typos in documentation and comments trivial: fix then -> than typos in comments and documentation trivial: update Jesper Juhl CREDITS entry with new email trivial: fix singal -> signal typo trivial: Fix incorrect use of "loose" in event.c trivial: printk: fix indentation of new_text_line declaration trivial: rtc-stk17ta8: fix sparse warning ...
2009-01-06serial: struct device - replace bus_id with dev_name(), dev_set_name()Kay Sievers1-2/+2
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-01-06trivial: Add a space (and a comma) to a printk in 8250 driverPaul Bolle1-1/+1
Commit d87a6d9 ("drivers/serial/: remove CVS keywords") removed one space too many in the printk in serial8250_init(). Put it back in (and add a comma for clarity). Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2009-01-06trivial: fix then -> than typos in comments and documentationFrederik Schwarzer1-2/+2
- (better, more, bigger ...) then -> (...) than Signed-off-by: Frederik Schwarzer <schwarzerf@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2009-01-02serial_8250: support for Sealevel Systems Model 7803 COMM+8Flavio Leitner1-0/+3
Add support for Sealevel Systems Model 7803 COMM+8 Signed-off-by: Flavio Leitner <fleitner@redhat.com> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-02Serial: UART driver changes for Cavium OCTEON.David Daney1-0/+7
Cavium UART implementation is not covered by existing uart_configS. Define a new uart_config (PORT_OCTEON) which is specified by OCTEON platform device registration code. Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com> Signed-off-by: David Daney <ddaney@caviumnetworks.com> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-02Serial: Allow port type to be specified when calling serial8250_register_port.David Daney2-2/+14
Add flag value UPF_FIXED_TYPE which specifies that the UART type is known and should not be probed. For this case the UARTs properties are just copied out of the uart_config entry. This allows us to keep SOC specific 8250 probe code out of 8250.c. In this case we know the serial hardware will not be changing as it is on the same silicon as the CPU, and we can specify it with certainty in the board/cpu setup code. The alternative is to load up 8250.c with a bunch of OCTEON specific special cases in the probing code. Signed-off-by: David Daney <ddaney@caviumnetworks.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-028250: Serial driver changes to support future Cavium OCTEON serial patches.David Daney1-58/+136
In order to use Cavium OCTEON specific serial i/o drivers, we first patch the 8250 driver to use replaceable I/O functions. Compatible I/O functions are added for existing iotypeS. An added benefit of this change is that it makes it easy to factor some of the existing special cases out to board/SOC specific support code. The alternative is to load up 8250.c with a bunch of OCTEON specific iotype code and bug work-arounds. Signed-off-by: David Daney <ddaney@caviumnetworks.com> Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-028250: Don't clobber spinlocks.David Daney1-2/+13
In serial8250_isa_init_ports(), the port's lock is initialized. We should not overwrite it. In early_serial_setup(), only copy in the fields we need. Since the early console code only uses a subset of the fields, these are sufficient. Signed-off-by: David Daney <ddaney@caviumnetworks.com> Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-02fix for tty-serial-move-portAlexander Beregalov1-3/+1
Hi Alan next-20081204 crashes with the following message: BUG: unable to handle kernel paging request at ffff88007d320248 IP: [<ffffffff803de934>] uart_remove_one_port+0xef/0x111 kfree(info); 393: 49 8d 7d 10 lea 0x10(%r13),%rdi 397: e8 00 00 00 00 callq 39c <uart_remove_one_port+0xef> Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-02tty: We want the port object to be persistentAlan Cox2-84/+62
Move the tty_port and uart_info bits around a little. By embedding the uart_info into the uart_port we get rid of lots of corner case testing and also get the ability to go port<->state<->info which is a bit more elegant than the current data structures. Downsides - we allocate a tiny bit more memory for unused ports, upside we've removed as much code as it saved for most users.. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-02__FUNCTION__ is gcc-specific, use __func__Harvey Harrison1-30/+30
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-02serial: set correct baud_base for Oxford Semiconductor Ltd EXSYS EX-41092 ↵Niels de Vos1-0/+3
Dual 16950 Serial adapter The PCI-card identified as "Oxford Semiconductor Ltd EXSYS EX-41092 Dual 16950 Serial adapter" is only usable with other devices (i.e. not the same card) after doing a "setserial /dev/ttyS<n> baud_base 115200". This baud_base should be default for this card. Signed-off-by: Niels de Vos <niels.devos@wincor-nixdorf.com> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-02And here's a patch (to be applied on top of the last) which preventsRussell King1-16/+21
this happening again by making use of 'const'. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-02Convert the oxsemi tornado special cases to use the quirk interface and notRussell King1-40/+51
scribble on its own reference structures. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-02Blackfin Serial Driver: Remove BI status for known_good_charSonic Zhang1-0/+1
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-02Blackfin Serial Driver: Fix bug - BF527-EZKIT unable to receive large files ↵Sonic Zhang1-3/+8
over UART in DMA mode Add spin_lock_irqsave() when receive and transfer data. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-02Blackfin Serial Driver: Clean serial console and early prink code.Sonic Zhang1-12/+4
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-02Blackfin Serial Driver: fix bug - SIR driver stop receiving randomlyGraf Yang1-0/+24
Bug description: The IRDA receiver may can't receiving any more after processed some signals. To duplicate this issue is put three IRDA devices together, one blackfin, two none blackfin, they will detect each other. Let one none blackfin devices irdaping the blackfin devices, when it stopped print out ping information, it is the time that blackfin stoped receiving, the time is random. The related register bit is OK, the other devices is sending data continuously. But no interrupt come. Fixing: I tried Michael's suggestion that request the UARTx error interrupt, and reset the IRDA when found FE error. This method helps much, but it can't completely avoid stop. Reset the IRDA before every time sending the data is more safe. Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-02Blackfin Serial Driver: updates kgdb over Blackfin serial driver with kgdb ↵Sonic Zhang1-98/+89
framework Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-12-30Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds11-46/+461
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (407 commits) [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices [ARM] pxafb: cleanup of the timing checking code [ARM] pxafb: cleanup of the color format manipulation code [ARM] pxafb: add palette format support for LCCR4_PAL_FOR_3 [ARM] pxafb: add support for FBIOPAN_DISPLAY by dma braching [ARM] pxafb: allow pxafb_set_par() to start from arbitrary yoffset [ARM] pxafb: allow video memory size to be configurable [ARM] pxa: add document on the MFP design and how to use it [ARM] sa1100_wdt: don't assume CLOCK_TICK_RATE to be a constant [ARM] rtc-sa1100: don't assume CLOCK_TICK_RATE to be a constant [ARM] pxa/tavorevb: update board support (smartpanel LCD + keypad) [ARM] pxa: Update eseries defconfig [ARM] 5352/1: add w90p910-plat config file [ARM] s3c: S3C options should depend on PLAT_S3C [ARM] mv78xx0: implement GPIO and GPIO interrupt support [ARM] Kirkwood: implement GPIO and GPIO interrupt support [ARM] Orion: share GPIO IRQ handling code [ARM] Orion: share GPIO handling code [ARM] s3c: define __io using the typesafe version [ARM] S3C64XX: Ensure CPU_V6 is selected ...
2008-12-28Merge branch 'next' of ↵Linus Torvalds2-14/+87
git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (144 commits) powerpc/44x: Support 16K/64K base page sizes on 44x powerpc: Force memory size to be a multiple of PAGE_SIZE powerpc/32: Wire up the trampoline code for kdump powerpc/32: Add the ability for a classic ppc kernel to be loaded at 32M powerpc/32: Allow __ioremap on RAM addresses for kdump kernel powerpc/32: Setup OF properties for kdump powerpc/32/kdump: Implement crash_setup_regs() using ppc_save_regs() powerpc: Prepare xmon_save_regs for use with kdump powerpc: Remove default kexec/crash_kernel ops assignments powerpc: Make default kexec/crash_kernel ops implicit powerpc: Setup OF properties for ppc32 kexec powerpc/pseries: Fix cpu hotplug powerpc: Fix KVM build on ppc440 powerpc/cell: add QPACE as a separate Cell platform powerpc/cell: fix build breakage with CONFIG_SPUFS disabled powerpc/mpc5200: fix error paths in PSC UART probe function powerpc/mpc5200: add rts/cts handling in PSC UART driver powerpc/mpc5200: Make PSC UART driver update serial errors counters powerpc/mpc5200: Remove obsolete code from mpc5200 MDIO driver powerpc/mpc5200: Add MDMA/UDMA support to MPC5200 ATA driver ... Fix trivial conflict in drivers/char/Makefile as per Paul's directions
2008-12-22serial: sh-sci: Fix up port pinmux for SH7366.Paul Mundt1-1/+1
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22serial: sh-sci: sci_poll_get_char() is only used by CONFIG_CONSOLE_POLL.Paul Mundt1-0/+3
sci_poll_put_char() happens to also be used by the serial console, while sci_poll_get_char() is only used by CONFIG_CONSOLE_POLL. Add another gnarly ifdef to shut up the compiler. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22serial: sh-sci: Generalize port pin initialization.Paul Mundt2-114/+43
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22serial: sh-sci: Tidy up fifo overrun error handling.Paul Mundt2-27/+29
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22serial: sh-sci: pr_debug() -> dev_dbg() conversion.Paul Mundt1-23/+26
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22serial: sh-sci: Fix up the cpufreq notifier to use the proper port clock.Paul Mundt1-28/+10
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22serial: sh-sci: Implement CONSOLE_POLL support and kill off old kgdb console.Paul Mundt1-181/+20
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22sh: Add support for SH7201 CPU subtype.Peter Griffin1-2/+20
This patch adds support for the SH-2A FPU based SH7201 processor subtype. Signed-off-by: Peter Griffin <pgriffin@mpc-data.co.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22serial: sh-sci: Codestyle cleanup patch.Michael Trimarchi1-56/+74
Trivial coding style cleanups. Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-21powerpc/mpc5200: fix error paths in PSC UART probe functionWolfram Sang1-8/+15
- error cases for mapbase and irq were unbundled - mapped irq now gets disposed on error Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2008-12-21powerpc/mpc5200: add rts/cts handling in PSC UART driverWolfram Sang1-4/+37
Add RTS/CTS-support for the PSC of the MPC5200B. Tested with a Phytec MPC5200B-IO. Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2008-12-21powerpc/mpc5200: Make PSC UART driver update serial errors countersRené Bürgel1-2/+8
This patch adds the capability to the mpc52xx-uart to report framing errors, parity errors, breaks and overruns to userspace. These values may be requested in userspace by using the ioctl TIOCGICOUNT. Signed-off-by: René Bürgel <r.buergel@unicontrol.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2008-12-18Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into develRussell King1-1/+1
2008-12-18Merge branch 'next-merged' of git://aeryn.fluff.org.uk/bjdooks/linux into develRussell King6-38/+451
2008-12-18[ARM] S3C: Remove cpufreq warnings for unset serial informationBen Dooks1-6/+2
As noted by Russell King, do not print any warnings if the uinfo or tty fields are not set when a CPU frequency change is sent. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-18[ARM] S3C: Update CONFIG_SERIAL_SAMSUNG_UARTS handlingBen Dooks1-3/+6
Fix the usage of CONFIG_SERIAL_SAMSUNG_UARTS in several places in the kernel where it had been missed. This finishes fixing a long standing issue where S3C2443 and S3C64XX could not use the 4th UART Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-18[ARM] S3C: Update number of serial portsBen Dooks2-12/+28
Update the serial driver to handle the 4 ports of the S3C2443 and S364XX series. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-18[ARM] MXC: remove dependency to other include files from irqs.hSascha Hauer1-1/+1
This patch removes the inclusion of mach/hardware.h from mach/irqs.h and switches to more meaningful names for the irq related macros. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2008-12-16patch-mx1-UART-supportPaulius Zaleckas1-3/+3
Adds support for MX1 architecture to UART driver. Signed-off-by: Paulius Zaleckas <paulius.zaleckas@teltonika.lt> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2008-12-16Merge branch 'merge' into nextPaul Mackerras3-6/+6
2008-12-15[ARM] S3C: Update serial driver IRQ handlingBen Dooks2-19/+29
The S3C64XX code changes the order of the serial interrupts, so change the registration process to pickup the extra IRQ resources. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15Merge branch 'omap3-upstream' of ↵Russell King3-6/+6
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel
2008-12-15[ARM] S3C6400: serial support for S3C6400 and S3C6410 SoCsBen Dooks4-4/+166
Add support to the Samsung serial driver for the S3C6400 and S3C6410 serial ports. Signed-off-by: Ben Dooks <ben-linux@fluff.org>