Lines Matching full:transport
2 HID I/O Transport Drivers
5 The HID subsystem is independent of the underlying transport driver. Initially,
7 provided new transport drivers. The kernel includes at least support for USB,
15 drivers on top of it. The transport drivers are responsible of raw data
16 transport and device setup/management. HID core is responsible of
31 | Transport Driver | | Transport Driver |
50 - Transport: USB-HID, I2C-HID, BT-HIDP
53 interest to HID device drivers. Transport drivers do not need to know the
60 transport drivers. Transport drivers use this to find any suitable HID device.
61 They allocate HID device objects and register them with HID core. Transport
63 aware of which transport drivers are available and is not interested in it. It
66 Transport drivers attach a constant "struct hid_ll_driver" object with each
70 Transport drivers are responsible of detecting device failures and unplugging.
72 device failures. Once transport drivers detect unplug or failure events, they
76 1.2) Transport Driver Requirements
84 On the other hand, synchronous channels can be implemented by the transport
88 required on asynchronous channels, a transport-driver must implement that via
91 HID core requires transport drivers to follow a given design. A Transport
94 transport driver might just provide 4 uni-directional channels. Or it might
149 is enforced by HID core as several transport drivers don't allow multiple
161 payload may be blocked by the underlying transport driver if the
166 INPUT reports as payload might be blocked by the underlying transport driver
169 does not require transport drivers to forward this acknowledgement to HID
172 restriction is enforced by HID core as some transport drivers do not support
176 (or deprecated) in most other transport level specifications:
189 Transport drivers normally use the following procedure to register a new device
212 hid->driver_data = <transport-driver-data-field>;
220 transport-drivers if not supported.
238 Called from HID device drivers once they want to use the device. Transport
240 devices are already set up before transport drivers register them to HID core
247 Called from HID device drivers once they are done with a device. Transport
252 Transport drivers are free to ignore it and deinitialize devices after they
261 not interested in device data and transport drivers can put devices asleep.
262 However, once ->open() is called, transport drivers must be ready for I/O.
273 Transport drivers can put devices asleep and terminate any I/O of all
281 Called once during device setup after ->start() has been called. Transport
289 Called by HID core to give PM hints to transport drivers. Usually this is
303 The transport driver is free to implement this asynchronously.
309 Used by HID core before calling ->request() again. A transport driver can use
320 be synchronous. A transport driver must not use ->wait() to complete such
342 Transport drivers are responsible of reading data from I/O devices. They must
345 given HID transport specification.
354 transport driver and not passed to hid_input_report().