kernel-ark/drivers/char
Alan Cox 78137e3b34 [PATCH] tty: improve encode_baud_rate logic
Mostly so people can see the work in progress.  This enhances the encode
function which isn't currently used in the base tree but is when using some of
the testing tty patches.

This resolves a problem with some hardware where applications got confusing
information from the tty ioctls.  Correct but confusing.

In some situations asking for, say, 9600 baud actually gets you 9595 baud or
similar near-miss values.  With the old code this meant that a request for
B9600 got a return of BOTHER, 9595 which programs interpreted as a failure.

The new code now works on the following basis

- If you ask for specific rate via BOTHER, you get a precise return

- If you ask for a standard Bfoo rate and the result is close you get a Bfoo
  return

- If you ask for a standard Bfoo rate and get something way off you get a
  BOTHER/rate return

This seems to fix up the cases I've found where this broke compatibility.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-11 10:51:32 -08:00
..
agp [AGPGART] Add new IDs to VIA AGP. 2007-01-28 17:58:33 -05:00
drm drm: Allow for 44 bit user-tokens (or drm_file offsets) 2007-02-08 16:14:05 +11:00
hw_random [PATCH] Fix HWRNG built-in initcalls priority 2007-01-11 18:18:21 -08:00
ip2 [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
ipmi [PATCH] proc: remove useless (and buggy) ->nlink settings 2007-02-11 10:51:32 -08:00
mwave
pcmcia [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
rio [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
tpm ACPICA: Remove duplicate table definitions (non-conflicting), cont 2007-02-02 21:14:29 -05:00
watchdog [PATCH] misc NULL noise removal 2007-02-09 09:14:07 -08:00
.gitignore
amiserial.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
apm-emulation.c [APM] Add shared version of APM emulation 2007-02-09 17:08:57 +00:00
applicom.c
applicom.h
briq_panel.c
cd1865.h
ChangeLog
consolemap.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
cp437.uni
cs5535_gpio.c [PATCH] struct path: convert char-drivers 2006-12-08 08:28:44 -08:00
cyclades.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
decserial.c [PATCH] dz: Fixes to make it work 2006-12-07 08:39:41 -08:00
defkeymap.c_shipped
defkeymap.map
digi1.h
digi.h
digiFep1.h
digiPCI.h
ds1286.c
ds1302.c
ds1620.c
dsp56k.c [PATCH] struct path: convert char-drivers 2006-12-08 08:28:44 -08:00
dtlk.c [PATCH] struct path: convert char-drivers 2006-12-08 08:28:44 -08:00
ec3104_keyb.c
efirtc.c
epca.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
epca.h
epcaconfig.h
esp.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
generic_nvram.c
generic_serial.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
genrtc.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
hangcheck-timer.c
hpet.c [PATCH] severing poll.h -> mm.h 2006-12-04 02:00:36 -05:00
hvc_beat.c [POWERPC] Celleb: hypervisor console driver 2007-02-07 14:03:21 +11:00
hvc_console.c [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
hvc_console.h
hvc_iseries.c
hvc_rtas.c
hvc_vio.c
hvcs.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
hvsi.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
i8k.c
ip27-rtc.c
isicom.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
istallion.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
Kconfig [PATCH] Char: mxser, obsolete old, nonexperimental new 2007-02-11 10:51:28 -08:00
keyboard.c [PATCH] vt: refactor console SAK processing 2007-02-11 10:51:24 -08:00
lcd.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
lcd.h
lp.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
Makefile [APM] Add shared version of APM emulation 2007-02-09 17:08:57 +00:00
mbcs.c
mbcs.h
mem.c Revert "[PATCH] Fix up mmap_kmem" 2007-01-22 08:53:24 -08:00
misc.c [PATCH] Correct misc_register return code handling in several drivers 2006-12-07 08:39:35 -08:00
mmtimer.c [PATCH] Correct misc_register return code handling in several drivers 2006-12-07 08:39:35 -08:00
moxa.c [PATCH] Char: moxa, pci probing 2007-02-11 10:51:30 -08:00
mspec.c [PATCH] mspec driver build fix 2006-11-13 07:40:42 -08:00
mxser_new.c [PATCH] Char: mxser_new, fix sparse warning 2007-02-11 10:51:29 -08:00
mxser_new.h [PATCH] Char: mxser_new, upgrade to 1.9.15 2007-02-11 10:51:29 -08:00
mxser.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
mxser.h [PATCH] mxser: remove ambiguous redefinition of INIT_WORK 2007-02-11 10:51:25 -08:00
n_hdlc.c
n_r3964.c [PATCH] Char: n_r3964, cleanup 2007-02-11 10:51:28 -08:00
n_tty.c [PATCH] tty: remove useless memory barrier 2006-12-13 09:05:52 -08:00
nsc_gpio.c [PATCH] struct path: convert char-drivers 2006-12-08 08:28:44 -08:00
nvram.c
nwbutton.c
nwbutton.h
nwflash.c
pc8736x_gpio.c
ppdev.c [PATCH] struct path: convert char-drivers 2006-12-08 08:28:44 -08:00
pty.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
random.c [PATCH] sysctl: remove unused "context" param 2006-12-10 09:55:41 -08:00
raw.c [PATCH] struct path: convert char-drivers 2006-12-08 08:28:44 -08:00
riscom8_reg.h
riscom8.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
riscom8.h
rocket_int.h
rocket.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
rocket.h
rtc.c [PATCH] rtc warning fix 2006-12-22 08:55:47 -08:00
scan_keyb.c
scan_keyb.h
scc.h
scx200_gpio.c
selection.c
ser_a2232.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
ser_a2232.h
ser_a2232fw.ax
ser_a2232fw.h
serial167.c [PATCH] Char: serial167, cleanup 2007-02-11 10:51:28 -08:00
snsc_event.c
snsc.c
snsc.h
sonypi.c [PATCH] struct path: convert char-drivers 2006-12-08 08:28:44 -08:00
specialix_io8.h
specialix.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
stallion.c [PATCH] Char: stallion, use dynamic dev 2006-12-08 08:28:59 -08:00
sx.c [PATCH] sx: fix non-PCI build 2006-12-13 09:05:49 -08:00
sx.h [PATCH] Char: sx, request regions 2006-12-08 08:28:59 -08:00
sxboards.h
sxwindow.h
synclink_gt.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
synclink.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
synclinkmp.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
sysrq.c [PATCH] vt: refactor console SAK processing 2007-02-11 10:51:24 -08:00
tb0219.c [PATCH] struct path: convert char-drivers 2006-12-08 08:28:44 -08:00
tipar.c [PATCH] struct path: convert char-drivers 2006-12-08 08:28:44 -08:00
tlclk.c [PATCH] tlclk: bug fix + misc fixes 2007-01-23 07:52:06 -08:00
toshiba.c [PATCH] export toshiba SMM support for neofb module 2006-12-07 08:39:40 -08:00
tty_io.c [PATCH] Char: tty, delete wake_up_interruptible after tty_wakeup 2007-02-11 10:51:25 -08:00
tty_ioctl.c [PATCH] tty: improve encode_baud_rate logic 2007-02-11 10:51:32 -08:00
vc_screen.c [PATCH] struct path: convert char-drivers 2006-12-08 08:28:44 -08:00
viocons.c [POWERPC] iSeries: fix viocons init 2006-12-20 16:37:48 +11:00
viotape.c [POWERPC] iSeries: fix viotape init 2006-12-20 16:37:47 +11:00
vme_scc.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
vr41xx_giu.c [MIPS] Vr41xx: Fix after GENERIC_HARDIRQS_NO__DO_IRQ change 2007-01-23 18:26:47 +00:00
vt_ioctl.c [PATCH] vt: refactor console SAK processing 2007-02-11 10:51:24 -08:00
vt.c [PATCH] drivers/char/vc_screen.c: proper prototypes 2007-02-11 10:51:27 -08:00