linux/drivers
David Brownell c1dca562be usb gadget: split out serial core
This abstracts the "gadget serial" driver TTY glue into a separate
component, cleaning it up and disentangling it from connection state.

It also changed some behaviors for the better:

  - Stops using "experimental" major #127, and switches over to
    having the TTY layer allocate the dev_t numbers.
    
  - Provides /sys/class/tty/ttyGS* nodes, thus mdev/udev support.
    (Note "mdev" hotplug bug in Busybox v1.7.2: /dev/ttyGS0 will
    be a *block* device without CONFIG_SYSFS_DEPRECATED_V2.)

  - The tty nodes no longer reject opens when there's no host.
    Now they can support normal getty configs in /etc/inttab...

  - Now implements RX throttling.  When the line discipline says
    it doesn't want any more data, only packets in flight will be
    delivered (currently, max 1K/8K at full/high speeds) until it
    unthrottles the data.

  - Supports low_latency.  This is a good policy for all USB serial
    adapters, since it eliminates scheduler overhead on RX paths.

This also includes much cleanup including better comments, fixing
memory leaks and other bugs (including some locking fixes), messaging
cleanup, and an interface audit and tightening.  This added up to a
significant object code shrinkage, on the order of 20% (!) depending
on CPU and compiler.

A separate patch actually kicks in this new code, using the functions
declared in this new header, and removes the previous glue.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-07-21 15:15:59 -07:00
..
accessibility
acpi APCI: revert another duplicated patch 2008-07-20 17:14:57 -07:00
amba
ata
atm Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
auxdisplay
base Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2008-07-16 17:25:46 -07:00
block m68k: Return -ENODEV if no device is found 2008-07-20 17:24:38 -07:00
bluetooth Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-07-20 17:43:29 -07:00
cdrom
char Merge branch 'x86/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-07-21 10:34:25 -07:00
clocksource
connector
cpufreq
cpuidle
crypto
dca
dio dio: use dio_match_device() in dio_bus_match() 2008-07-20 17:24:40 -07:00
dma
edac
eisa
firewire
firmware
gpio
gpu
hid
hwmon Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 into next 2008-07-21 00:55:14 -04:00
i2c i2c: Convert the max6875 driver to a new-style i2c driver 2008-07-16 19:30:07 +02:00
ide Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-fixes-2.6 2008-07-17 10:55:07 -07:00
ieee1394
infiniband Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
input Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 into next 2008-07-21 00:55:14 -04:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-07-20 17:43:29 -07:00
leds
lguest
macintosh Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 into next 2008-07-21 00:55:14 -04:00
mca
md Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm 2008-07-21 10:30:10 -07:00
media Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb 2008-07-20 21:14:42 -07:00
memstick
message
mfd mfd: let asic3 use mem resource instead of bus_shift 2008-07-20 19:56:44 +02:00
misc fujitsu-laptop: depends on INPUT 2008-07-16 23:27:03 +02:00
mmc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc 2008-07-16 15:17:52 -07:00
mtd
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-07-21 11:29:52 -07:00
nubus
of
oprofile
parisc
parport
pci pci kernel-doc fatal error 2008-07-21 10:43:26 -07:00
pcmcia Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-fixes-2.6 2008-07-17 10:55:07 -07:00
pnp PNPACPI: add support for HP vendor-specific CCSR descriptors 2008-07-16 23:27:07 +02:00
power
ps3
rapidio
rtc
s390 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
sbus drivers/sbus/: cleanups 2008-07-17 21:38:17 -07:00
scsi scsi_dh: Verify "dev" is a sdev before accessing it. 2008-07-16 17:54:21 -07:00
serial atmel_serial: Fix tty_port breakage 2008-07-20 17:12:37 -07:00
sh
sn
spi
ssb
tc
telephony
thermal
uio
usb usb gadget: split out serial core 2008-07-21 15:15:59 -07:00
video export c2p 2008-07-20 17:24:39 -07:00
virtio
w1 w1/ds2482: Convert to a new-style driver 2008-07-16 19:30:07 +02:00
watchdog
xen Merge branch 'x86/paravirt-spinlocks' into x86/for-linus 2008-07-21 16:45:56 +02:00
zorro zorro: use memory_read_from_buffer 2008-07-20 17:24:38 -07:00
Kconfig
Makefile gpu: re-order GPU subdirectory vs char for AGP vs DRM startup. 2008-07-21 08:42:49 +10:00