Commit graph

460 commits

Author SHA1 Message Date
Dave Jones
e480af09c4 [SERIAL] tickle NMI watchdog on serial output.
Serial is _slow_ sometimes. So slow, that the NMI watchdog kicks in.

NMI Watchdog detected LOCKUP on CPU2CPU 2
Modules linked in: loop usb_storage md5 ipv6 parport_pc lp parport autofs4 i2c_dev i2c_core rfcomm l2cap bluetooth sunrpc pcdPid: 3138, comm: gpm Not tainted 2.6.11-1.1290_FC4smp
RIP: 0010:[<ffffffff80273b8a>] <ffffffff80273b8a>{serial_in+106}
RSP: 0018:ffff81003afc3d50  EFLAGS: 00000002
RAX: 0000000000000020 RBX: 0000000000000020 RCX: 0000000000000000
RDX: 00000000000003fd RSI: 0000000000000005 RDI: ffffffff804dcd60
RBP: 00000000000024fc R08: 000000000000000a R09: 0000000000000033
R10: ffff81001beb7c20 R11: 0000000000000020 R12: ffffffff804dcd60
R13: ffffffff804ade76 R14: 000000000000002b R15: 000000000000002c
FS:  00002aaaaaac4920(0000) GS:ffffffff804fca00(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00002aaaaabcb000 CR3: 000000003c0d0000 CR4: 00000000000006e0
Process gpm (pid: 3138, threadinfo ffff81003afc2000, task ffff81003eb63780)
Stack: ffffffff80275f2e 0000000000000000 ffffffff80448380 0000000000007d6b
       000000000000002c fffffffffffffbbf 0000000000000292 0000000000008000
       ffffffff80138e8c 0000000000007d97
Call Trace:<ffffffff80275f2e>{serial8250_console_write+270} <ffffffff80138e8c>{__call_console_drivers+76}
       <ffffffff8013914b>{release_console_sem+315} <ffffffff80260325>{con_open+149}
       <ffffffff80254e99>{tty_open+537} <ffffffff80192713>{chrdev_open+387}
       <ffffffff80188824>{dentry_open+260} <ffffffff80188994>{filp_open+68}
       <ffffffff80187b73>{get_unused_fd+227} <ffffffff80188a6c>{sys_open+76}
       <ffffffff8010ebc6>{tracesys+209}

Code: 0f b6 c0 c3 66 90 41 57 49 89 f7 41 56 41 be 00 01 00 00 41
console shuts up ...

I initially did the patch below a year ago for the Fedora kernel, and have
been keeping it up to date since.  I recently got the same thing happening
on a vanilla kernel, so figured it was time to repost this.

Signed-off-by: Dave Jones <davej@redhat.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-01 20:03:19 +01:00
Russell King
a6b93a9085 [SERIAL] Fix oops when removing suspended serial port
A serial card might have been removed when the system is resumed.
This results in a suspended port being shut down, which results in
the ports shutdown method being called twice in a row.  This causes
BUGs.  Avoid this by tracking the suspended state separately from
the initialised state.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-01 17:17:40 +01:00
Russell King
fe59d5372a [SERIAL] Fix resume handling bug
Unfortunately, pcmcia_dev_present() returns false when a device is
suspended, so checking this on resume does not work too well.  Omit
this test.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-01 17:14:07 +01:00
Alexey Dobriyan
1d5e799663 [SERIAL] CONFIG_PM=n slim: drivers/serial/8250_pci.c
Remove some code which is unneeded if CONFIG_PM=n.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-01 17:07:08 +01:00
Jonathan McDowell
255341c6fd [SERIAL] OMAP1510 serial fix for 115200 baud
The patch below is necessary for 115200 baud on an OMAP1510 internal UART.
It's been in the linux-omap tree for some time and with it applied to a
vanilla Linus git tree the serial console on the Amstrad Delta (which is
OMAP1510 based and whose initial bootloader runs at 115200) works fine (it
doesn't without it).

Signed-off-by: Jonathan McDowell <noodles@earth.li>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-01 17:07:06 +01:00
Ram Gupta
80e3c2b659 [SERIAL] returning proper error from serial core driver
Fix the issue of returning 0 even in case of error from uart_set_info
function.  Now it returns the error EBUSY when it can not set new port.

Signed-off-by: Ram Gupta <r.gupta@astronautics.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-01 17:07:00 +01:00
Sergei Shtylyov
6c6a2334a1 [SERIAL] Make uart_line_info() correctly tell MMIO from I/O port
/proc/tty/driver/serial incorrectly claims that UARTs having iotype of
UPIO_MEM32, UPIO_AU, or UPIO_TSI are I/O mapped.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-01 17:06:57 +01:00
Sergei Shtylyov
a4b775735c [SERIAL] suspend/resume handlers don't have level arg anymore
8250.c and serial_txx9.c port suspend/resume handler still have this obsolete
argument documented...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-01 17:06:54 +01:00
Sergei Shtylyov
0b30d668a2 [SERIAL] 8250 resourse management fixes
I think register ranges obviously need to be claimed/released for all UARTs
including those with UPIO_MEM32 and UPIO_TSI iotype.

Also, serial8250_request_rsa_resources() returns false positives with
UPIO_MEM32, UPIO_AU, and UPIO_TSI iotype -- I don't think this makes any sense.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-01 17:06:49 +01:00
Russell King
f3d106881b [SERIAL] serial_cs: Add quirk for brainboxes 2-port RS232 card
Mauro Ziliani reports that this card has a higher clock rate.
Rather than tweak the 8250 driver to handle this, add a quirk to
pass the correct clock rate to the driver.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-01 17:06:45 +01:00
Russell King
20f130495c [SERIAL] serial_cs: handle Nokia multi->single port bodge via config quirk
According to the existing code, Nokia only make single-port cards,
but are detected as multi-port cards.  Handle this in roughly the
same way via the config quirk - forcing it to be a real single port
card (info->multi=0) changes the way we allocate the IO memory,
which might stop the card working.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-01 17:06:41 +01:00
Russell King
efd92dfaad [SERIAL] serial_cs: add configuration quirk
Add a quirk primerily to handle tweaks to the link->conf structure,
eg as required for Socket cards.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-01 17:06:37 +01:00
Russell King
7ef057fa70 [SERIAL] serial_cs: Convert Oxford 950 / Possio GCC wakeup quirk
Move the Oxford Semi OX950 / Possio GCC wakeup handling to a quirk
wakeup handler.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-01 17:06:34 +01:00
Russell King
eee3a883ce [SERIAL] serial_cs: convert IBM post-init handling to a quirk
Move IBM quirk handling into its own quirk entry.  Note that doing
quirk handling after we've registered the ports is racy, but since
I don't know if moving this will have an undesired effect, it's
probably better to leave where it is.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-01 17:06:30 +01:00
Russell King
a8244b564c [SERIAL] serial_cs: allow wildcarded quirks
Some quirks we will introduce next apply to (eg) all cards of one
manufacturer.  Therefore, we need a way to list these in the quirk
table - use ~0 - this is not a possible device ID value.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-01 17:06:27 +01:00
Russell King
1fbbac4bcb [SERIAL] serial_cs: convert multi-port table to quirk table
- rename multi_id table to serial_quirk / quirks[]
- use named initialisers
- store a pointer to the quirk table in the serial_info structure
  so we can use the quirk table entry later.
- apply multi-port quirk after the multi-port guessing code,
  but only if it's != -1.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-01 17:06:23 +01:00
Russell King
43549ad7a7 [SERIAL] serial_cs: Use clean up multiport card detection
- Use ARRAY_SIZE() instead of home grown based version.
- use parse->manfid.card rather than le16_to_cpu(buf[1]) -
  manfid.card is already converted to this format.
- use info->prodid in subsequent tests rather than
  parse->manfid.card.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-01 17:06:20 +01:00
Russell King
de6cc84f72 [SERIAL] Remove m32r_sio dependency on asm/serial.h
m32r_sio re-uses a custom defined BASE_BAUD from asm/serial.h,
and replaces SERIAL_PORT_DFNS with its own driver private copy.
Since asm/serial.h is supposed to define 8250-based ports using
these symbols, this isn't a sane idea.

Hence, eliminate asm/serial.h from m32r_sio.c.

Acked-by: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-01 17:06:03 +01:00
David S. Miller
fbe96f92b3 [SERIAL] sunzilog: Mark sunzilog_init_hw as __devinit.
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-09-29 16:12:43 -07:00
Peter Korsgaard
b22b4cdd53 [PATCH] fix serial/amba-pl011.c console Kconfig
Fix the Kconfig entry for console on AMBA PL011 to match the code.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-29 09:18:14 -07:00
Linus Torvalds
ebdea46fec Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (130 commits)
  [ARM] 3856/1: Add clocksource for Intel IXP4xx platforms
  [ARM] 3855/1: Add generic time support
  [ARM] 3873/1: S3C24XX: Add irq_chip names
  [ARM] 3872/1: S3C24XX: Apply consistant tabbing to irq_chips
  [ARM] 3871/1: S3C24XX: Fix ordering of EINT4..23
  [ARM] nommu: confirms the CR_V bit in nommu mode
  [ARM] nommu: abort handler fixup for !CPU_CP15_MMU cores.
  [ARM] 3870/1: AT91: Start removing static memory mappings
  [ARM] 3869/1: AT91: NAND support for DK and KB9202 boards
  [ARM] 3868/1: AT91 hardware header update
  [ARM] 3867/1: AT91 GPIO update
  [ARM] 3866/1: AT91 clock update
  [ARM] 3865/1: AT91RM9200 header updates
  [ARM] 3862/2: S3C2410 - add basic power management support for AML M5900 series
  [ARM] kthread: switch arch/arm/kernel/apm.c
  [ARM] Off-by-one in arch/arm/common/icst*
  [ARM] 3864/1: Refactore sharpsl_pm
  [ARM] 3863/1: Add Locomo SPI Device
  [ARM] 3847/2:  Convert LOMOMO to use struct device for GPIOs
  [ARM] Use CPU_CACHE_* where possible in asm/cacheflush.h
  ...
2006-09-28 14:40:39 -07:00
Andrew Victor
72729910c3 [ARM] 3865/1: AT91RM9200 header updates
This is more preparation for adding support for the new Atmel AT91SAM9
processors.

Changes include:
- Replace AT91_BASE_* with AT91RM9200_BASE_*
- Replace AT91_ID_* with AT91RM9200_ID_*
- ROM, SRAM and UHP address definitions moved to at91rm9200.h.
- The raw AT91_P[ABCD]_* definitions are now depreciated in favour of
the GPIO API.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-09-28 11:52:05 +01:00
Paul Mundt
ecd9561687 serial: Add SERIAL_SH_SCI_NR_UARTS for sh-sci.
sh-sci needs to be able to define its number of ports to
support, we do this with a config option, like most other
ports do.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27 17:32:30 +09:00
Paul Mundt
e108b2ca23 serial: Rework sh-sci for driver model.
sh-sci was turning in to an unmaintainable mess, especially with
regards to the port list. This cleans it up quite a bit, and
switches over to a platform device model where subtypes will
register their port list individually in their setup code.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27 16:32:13 +09:00
Rafael J. Wysocki
e1da95ae38 [PATCH] suspend: make it possible to disable serial console suspend
Hack uart_suspend_port() and uart_resume_port() so that serial console
ports are not suspended if CONFIG_DISABLE_CONSOLE_SUSPEND is set.

This makes it possible to debug the suspend and resume routines of all
device drivers as well as the lowest-level swsusp code with the help of the
serial console.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-26 08:49:03 -07:00
Linus Torvalds
14d1adfc59 Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (114 commits)
  [POWERPC] Fix ohare IDE irq workaround on old powermacs
  [POWERPC] EEH: Power4 systems sometimes need multiple resets.
  [POWERPC] Include <asm/mmu.h> in arch/powerpc/sysdev/fsl_soc.h for phys_addr_t.
  [POWERPC] Demacrofy arch/powerpc/platforms/maple/pci.c
  [POWERPC] Maple U3 HT - reject inappropriate config space access
  [POWERPC] Fix IPIC pending register assignments
  [POWERPC] powerpc: fix building gdb against asm/ptrace.h
  [POWERPC] Remove DISCONTIGMEM cruft from page.h
  [POWERPC] Merge iSeries i/o operations with the rest
  [POWERPC] 40x: Fix debug status register defines
  [POWERPC] Fix compile error in sbc8560
  [POWERPC] EEH: support MMIO enable recovery step
  [POWERPC] EEH: enable MMIO/DMA on frozen slot
  [POWERPC] EEH: code comment cleanup
  [POWERPC] EEH: balance pcidev_get/put calls
  [POWERPC] PPC: Fix xmon stack frame address in backtrace
  [POWERPC] Add AT_PLATFORM value for Xilinx Virtex-4 FX
  [POWERPC] Start arch/powerpc/boot code reorganization
  [POWERPC] Define of_read_ulong helper
  [POWERPC] iseries: eliminate a couple of warnings
  ...
2006-09-22 12:48:03 -07:00
Ben Dooks
71aa7054d3 [ARM] 3793/1: S3C2412: fix wrong serial info struct
Patch from Ben Dooks

The S3C2440 serial info struct is being passed
through the S3C2412 serial info struct probe
routine.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Thomas Glexiner <tglx@linutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-09-18 13:30:17 +01:00
Paul Mackerras
c547fc28ab Merge branch 'linux-2.6' 2006-09-14 07:07:18 +10:00
Paul Mundt
21264136ce sh64: Trivial build fixes.
While we've been sorting out the toolchain fiasco, some of
the code has suffered a bit of bitrot. Building with GCC4
also brings up some more build warnings. Trivial fixes for
both issues.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-12 14:36:46 +09:00
Paul Mackerras
aa43f77939 Merge branch 'merge' 2006-08-31 15:45:48 +10:00
Helge Deller
e9422e0915 [SERIAL] 8250: constify some serial structs
- some const- ification and usage of ARRAY_SIZE() in serial drivers

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-08-30 10:06:14 +01:00
Sergei Shtylyov
d21b55d30b [SERIAL] Make uart_match_port() work with all memory mapped UARTs
uart_match_port() always fails with UPIO_MEM32, UPIO_AU, and UPIO_TSI cases.
Since they match to the memory mapped UARTs, they should be handled just like
UPIO_MEM case.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-08-30 10:06:14 +01:00
Peter Horton
737c17561f [SERIAL] Support for Intashield 2 port PCI serial card
Here is a patch that adds support for the Instashield IS-200 2 port PCI
serial card.

Signed-off-by: Peter Horton <pdh@colonel-panic.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-08-27 11:59:49 +01:00
David S. Miller
b8b99e857d [SERIAL] sunzilog: Mirror the sunsab serial setup bug fix.
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-08-23 15:53:39 -07:00
Marc Zyngier
0f4184f73d [SERIAL] sunsab: Fix E250 console with RSC.
This fixes yet another sunsab problem, when console is set to anything
but the first port. The console framework calls sunsab_console_setup
for each port, and we end up setting up a console on a not yet
discovered port, which leads to an Oops. Instead, defer console setup
until the requested port is properly initialized. Tested on an E250
through an RSC console.

Reported by Daniel Smolik <marvin@mydatex.cz>

Signed-off-by: Marc Zyngier <maz@misterjones.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-08-23 15:50:57 -07:00
Paul Mackerras
57cad8084e Merge branch 'merge' 2006-08-01 10:37:25 +10:00
Jeremy Kerr
018a3d1db7 [POWERPC] powermac: Constify & voidify get_property()
Now that get_property() returns a void *, there's no need to cast its
return value. Also, treat the return value as const, so we can
constify get_property later.

powermac platform & macintosh driver changes.

Built for pmac32_defconfig, g5_defconfig

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-07-31 15:55:05 +10:00
David S. Miller
8a84eb164c [SERIAL] sunzilog: Fix instance enumeration.
Just do a linear enumeration so that we handle sun4d systems
correctly.  As a consequence, eliminate the hard coded keyboard and
mouse channel line values, use the CONS_{KEYB,MS} flags instead.

Also, report the keyboard/mouse Zilog channels just like the uart ones
do.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-21 14:18:25 -07:00
David S. Miller
b77d35b722 [SERIAL] sunzilog: Remove duplicate IRQ registry in zs_probe().
We do it now in sunzilog_init() after all devices have been
probed.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-21 14:18:22 -07:00
David S. Miller
67e23a1e60 [SERIAL] sunzilog: Register IRQ after all devices have been probed.
Otherwise we will deref half-initialized channel pointers
and crash in the interrupt handler.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-21 14:18:08 -07:00
David S. Miller
bda2f7b480 [SERIAL] sunsab: Get line numbers and table sizing correct.
Table sizing code should look for "se" not "su" nodes.

The chip at the lower address should get the first index.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-21 14:18:01 -07:00
Marc Zyngier
44f2650b13 [SPARC64] Fix sunsab ports ordering
Register second SAB port before the first one, as serial A is wired to
it, and expected to appear as ttyS0.

Signed-off-by: Marc Zyngier <maz@misterjones.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-21 14:17:57 -07:00
David S. Miller
5b4bbb3d78 [SERIAL] sunsab: Fix significant typo in sab_probe()
Instead of initializing both ports of a SAB device
properly, we were setting up the first port
structure twice and ending up only with the second
port, oops.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-14 17:00:25 -07:00
David S. Miller
c964521c54 [SERIAL] sunsu: Report keyboard and mouse ports in kernel log.
Otherwise there is no explicit mention of these devices.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-14 17:00:23 -07:00
Linus Torvalds
ab6cf0d0cb Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (53 commits)
  [MIPS] sparsemem: fix crash in show_mem
  [MIPS] vr41xx: Update workpad setup function
  [MIPS] vr41xx: Update e55 setup function
  [MIPS] vr41xx: Removed old v2.4 VRC4173 driver
  [MIPS] vr41xx: Move IRQ numbers to asm-mips/vr41xx/irq.h
  [MIPS] MIPSsim: Build fix, rename sim_timer_setup -> plat_timer_setup.
  [MIPS] Remove unused code.
  [MIPS] IP22 Fix brown paper bag in RTC code.
  [MIPS] Atlas, Malta, SEAD: Don't disable interrupts in mips_time_init().
  [MIPS] Replace board_timer_setup function pointer by plat_timer_setup.
  [MIPS] Nuke redeclarations of board_time_init.
  [MIPS] Remove redeclarations of setup_irq().
  [MIPS] Nuke redeclarations of board_timer_setup.
  [MIPS] Print out TLB handler assembly for debugging.
  [MIPS] SMTC: Reformat to Linux style.
  [MIPS] MIPSsim: Delete redeclaration of ll_local_timer_interrupt.
  [MIPS] IP27: Reformatting.
  [MIPS] IP27: Invoke setup_irq for timer interrupt so proc stats will be shown.
  [MIPS] IP27: irq_chip startup method returns unsigned int.
  [MIPS] IP27: struct irq_desc member handler was renamed to chip.
  ...
2006-07-13 16:57:04 -07:00
Linus Torvalds
7b69a4c360 Merge master.kernel.org:/home/rmk/linux-2.6-serial
* master.kernel.org:/home/rmk/linux-2.6-serial:
  [SERIAL] 8250: sysrq deadlock fix
  [SERIAL] 8250: add tsi108 serial support
  [SERIAL] IP22: fix serial console hangs
  [SERIAL] dz: Fix compilation error
2006-07-13 16:38:02 -07:00
Yoichi Yuasa
66151bbd20 [MIPS] vr41xx: Move IRQ numbers to asm-mips/vr41xx/irq.h
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:19 +01:00
David S. Miller
91d1ed1a6d [SERIAL] sunsu: Handle keyboard and mouse ports directly.
The sunsu_ports[] array exists merely to be able to easily
use an integer index to get at the proper serial console
port struct.

We size this only for real ports, not for the keyboard and
mouse, and thus keyboard and mouse port registration would
fail.

Fix this by dynamically allocating the port struct for the
keyboard and mouse, instead of using the sunsu_ports[]
array.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-13 01:50:11 -07:00
Andrew Morton
68aa2c0d4a [SERIAL] 8250: sysrq deadlock fix
Fix http://bugzilla.kernel.org/show_bug.cgi?id=6716

Doing a sysrq over a serial line into an SMP machine presently deadlocks.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-07-09 21:11:10 +01:00
Zang Roy-r61911
3be91ec738 [SERIAL] 8250: add tsi108 serial support
The following patch gets rid of CONFIG_TSI108_BRIDGE.  I add UPIO_TSI to
handle IIR and IER register in serial_in and serial_out.

(1) the reason to rewrite serial_in:

    TSI108 rev Z1 version ERRATA.  Reading the UART's Interrupt
    Identification Register (IIR) clears the Transmit Holding Register
    Empty (THRE) and Transmit buffer Empty (TEMP) interrupts even if they
    are not enabled in the Interrupt Enable Register (IER).  This leads to
    loss of the interrupts.  Interrupts are not cleared when reading UART
    registers as 32-bit word.

(2) the reason to rewrite serial_out:

    Check for UART_IER_UUE bit in the autoconfig routine.  This section
    of autoconfig is excluded for Tsi108/109 because bits 7 and 6 are
    reserved for internal use.  They are R/W bits.  In addition to
    incorrect identification, changing these bits (from 00) will make
    Tsi108/109 UART non-functional.

Signed-off-by: Roy Zang	<tie-fei.zang@freescale.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-07-09 21:11:09 +01:00