Lines Matching +full:composite +full:- +full:in

2  * composite.h -- framework for usb gadgets which are composite devices
4 * Copyright (C) 2006-2008 David Brownell
6 * SPDX-License-Identifier: GPL-2.0+
14 * making it easier to build (a) Composite devices, supporting multiple
15 * functions within any single configuration, and (b) Multi-configuration
20 * link and mass storage functions is a composite device. Those functions
21 * might alternatively be packaged in individual configurations, but in
22 * the composite model the host can use both functions at the same time.
42 * struct usb_function - describes one function of a configuration
45 * and by language IDs provided in control requests
59 * in interface or class descriptors; endpoints; I/O buffers; and so on.
70 * @setup: Used for interface-specific control requests.
74 * A single USB function uses one or more interfaces, and should in most
82 * for both high and full speed operation. Except in rare cases that don't
87 * can only be activated once. If the function needs to be exposed in more
92 * a driver-specific instance structure to allows multiple activations. An
143 * ep_choose - select descriptor endpoint at current device speed
152 if (gadget_is_dualspeed(g) && g->speed == USB_SPEED_HIGH) in ep_choose()
160 * struct usb_configuration - represents one gadget configuration
163 * and by language IDs provided in control requests.
165 * Examples include OTG and vendor-specific descriptors.
181 * configuration, and handle dual-speed hardware by always providing the same
183 * single-function configuration at a given speed; or have configurations
186 * Composite devices are, by definition, ones with configurations which
198 * Such interdependency may be managed in any way, so long as all of the
199 * descriptors complete by the time the composite driver returns from
218 /* fields in the config descriptor */
241 * struct usb_composite_driver - groups configurations into a gadget
246 * and language IDs provided in control requests
260 * on bus powered operation should report this in their @bind() method.
262 * Before returning from @bind, various fields in the template descriptor
267 * they are defined in @dev and @strings.) The correct ep0 maxpacket size
295 * struct usb_composite_device - represents one composite usb gadget
296 * @gadget: read-only, abstracts the gadget's usb peripheral controller
297 * @req: used for control responses; buffer is pre-allocated
298 * @bufsiz: size of buffer pre-allocated in @req
313 * "is it wired", plus (presumably in a wrapper structure)
316 * wireless-specific parameters like maxburst and maxsequence;
322 * (g) composite device setup that can create one or more wireless