android_kernel_motorola_sm6225/include/linux/usb
Johan Hovold 980373b791 USB: serial: add generic TIOCMIWAIT implementation
Add generic TIOCMIWAIT implementation which correctly handles hangup,
USB-device disconnect, does not rely on the deprecated sleep_on
functions and hence does not suffer from the races currently affecting
several usb-serial drivers.

This makes it much easier to add TIOCMIWAIT support to subdrivers as the
tricky details related to hangup and disconnect (e.g. atomicity, that
the private port data may have been freed when woken up, and waking up
processes at disconnect) have been handled once and for all.

To add support to a subdriver, simply set the tiocmiwait-port-operation
field, update the port icount fields and wake up any process sleeping on
the tty-port modem-status-change wait queue on changes.

Note that the tty-port initialised flag can be used to detect
disconnected as the port will be hung up as part of disconnect (and
cannot be reactivated due to the disconnected flag). However, as the
tty-port implementation currently wakes up processes before calling port
shutdown, the tty-hupping flag must also be checked to detect hangup for
now.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-25 13:50:51 -07:00
..
association.h
atmel_usba_udc.h
audio-v2.h
audio.h UAPI: (Scripted) Disintegrate include/linux/usb 2012-10-09 09:49:07 +01:00
c67x00.h
cdc-wdm.h USB: cdc-wdm: implement IOCTL_WDM_MAX_COMMAND 2013-03-25 13:32:20 -07:00
cdc_ncm.h net: cdc_ncm, cdc_mbim: allow user to prefer NCM for backwards compatibility 2013-03-17 11:59:03 -04:00
ch9.h UAPI: (Scripted) Disintegrate include/linux/usb 2012-10-09 09:49:07 +01:00
chipidea.h
composite.h usb: gadget: composite: fix kernel-doc warnings 2013-03-05 13:15:00 +02:00
dwc3-omap.h usb: dwc3: omap: Add an API to write to dwc mailbox 2013-01-25 09:17:09 +02:00
ehci_def.h USB: EHCI: Tegra: Fix wrong register definition 2012-09-18 17:40:56 +01:00
ehci_pdriver.h USB: EHCI: remove ehci_port_power() routine 2012-10-31 12:48:07 -07:00
ezusb.h USB: ezusb: unexport some functions that aren't being used 2012-10-24 14:19:16 -07:00
functionfs.h UAPI: (Scripted) Disintegrate include/linux/usb 2012-10-09 09:49:07 +01:00
g_hid.h
gadget.h usb: gadget: completely remove ->start/->stop 2013-01-24 21:11:32 +02:00
gpio_vbus.h
hcd.h USB: add usb_hcd_{start,end}_port_resume 2013-01-25 15:06:01 -08:00
input.h
intel_mid_otg.h
iowarrior.h
irda.h
isp116x.h
isp1301.h
isp1362.h
isp1760.h
m66592.h
msm_hsusb.h
msm_hsusb_hw.h
musb-omap.h
musb.h ARM: OMAP2: MUSB: Specify omap4 has mailbox 2013-02-06 11:40:13 -08:00
net2280.h
nop-usb-xceiv.h
ohci_pdriver.h USB: ohci: allow platform driver to specify the number of ports 2012-10-22 11:23:59 -07:00
omap_control_usb.h usb: omap_control_usb: fix compile warning 2013-02-06 11:40:14 -08:00
omap_usb.h usb: phy: add a new driver for usb3 phy 2013-01-25 13:02:50 +02:00
otg.h usb: phy: fix build break 2012-09-06 16:01:11 +03:00
phy.h usb: otg: add device tree support to otg library 2013-01-25 10:20:14 +02:00
phy_companion.h usb: phy: add a new driver for omap usb2 phy 2012-09-06 20:14:53 +03:00
quirks.h
r8a66597.h
renesas_usbhs.h
rndis_host.h
samsung_usb_phy.h ARM: EXYNOS: Update & move usb-phy types to generic include layer 2013-01-23 13:39:07 +02:00
serial.h USB: serial: add generic TIOCMIWAIT implementation 2013-03-25 13:50:51 -07:00
sl811.h
storage.h
tegra_usb_phy.h usb: host: tegra: make use of PHY pointer of HCD 2013-01-28 11:42:11 -07:00
tilegx.h
uas.h
ulpi.h usb: ulpi: Define a *otg_ulpi_create no-op 2013-03-20 17:30:40 +02:00
usbnet.h net: usb: fix regression from FLAG_NOARP code 2013-02-08 01:49:49 -05:00
wusb-wa.h
wusb.h