Merge tag 'docs-4.12' of git://git.lwn.net/linux
Pull documentation update from Jonathan Corbet: "A reasonably busy cycle for documentation this time around. There is a new guide for user-space API documents, rather sparsely populated at the moment, but it's a start. Markus improved the infrastructure for converting diagrams. Mauro has converted much of the USB documentation over to RST. Plus the usual set of fixes, improvements, and tweaks. There's a bit more than the usual amount of reaching out of Documentation/ to fix comments elsewhere in the tree; I have acks for those where I could get them" * tag 'docs-4.12' of git://git.lwn.net/linux: (74 commits) docs: Fix a couple typos docs: Fix a spelling error in vfio-mediated-device.txt docs: Fix a spelling error in ioctl-number.txt MAINTAINERS: update file entry for HSI subsystem Documentation: allow installing man pages to a user defined directory Doc/PM: Sync with intel_powerclamp code behavior zr364xx.rst: usb/devices is now at /sys/kernel/debug/ usb.rst: move documentation from proc_usb_info.txt to USB ReST book convert philips.txt to ReST and add to media docs docs-rst: usb: update old usbfs-related documentation arm: Documentation: update a path name docs: process/4.Coding.rst: Fix a couple of document refs docs-rst: fix usb cross-references usb: gadget.h: be consistent at kernel doc macros usb: composite.h: fix two warnings when building docs usb: get rid of some ReST doc build errors usb.rst: get rid of some Sphinx errors usb/URB.txt: convert to ReST and update it usb/persist.txt: convert to ReST and add to driver-api book usb/hotplug.txt: convert to ReST and add to driver-api book ...
This commit is contained in:
@@ -132,8 +132,8 @@ int clk_get_phase(struct clk *clk);
|
||||
* @q: clk compared against p
|
||||
*
|
||||
* Returns true if the two struct clk pointers both point to the same hardware
|
||||
* clock node. Put differently, returns true if struct clk *p and struct clk *q
|
||||
* share the same struct clk_core object.
|
||||
* clock node. Put differently, returns true if @p and @q
|
||||
* share the same &struct clk_core object.
|
||||
*
|
||||
* Returns false otherwise. Note that two NULL clks are treated as matching.
|
||||
*/
|
||||
|
@@ -61,16 +61,83 @@ struct flex_array {
|
||||
FLEX_ARRAY_ELEMENTS_PER_PART(__element_size)); \
|
||||
}
|
||||
|
||||
/**
|
||||
* flex_array_alloc() - Creates a flexible array.
|
||||
* @element_size: individual object size.
|
||||
* @total: maximum number of objects which can be stored.
|
||||
* @flags: GFP flags
|
||||
*
|
||||
* Return: Returns an object of structure flex_array.
|
||||
*/
|
||||
struct flex_array *flex_array_alloc(int element_size, unsigned int total,
|
||||
gfp_t flags);
|
||||
|
||||
/**
|
||||
* flex_array_prealloc() - Ensures that memory for the elements indexed in the
|
||||
* range defined by start and nr_elements has been allocated.
|
||||
* @fa: array to allocate memory to.
|
||||
* @start: start address
|
||||
* @nr_elements: number of elements to be allocated.
|
||||
* @flags: GFP flags
|
||||
*
|
||||
*/
|
||||
int flex_array_prealloc(struct flex_array *fa, unsigned int start,
|
||||
unsigned int nr_elements, gfp_t flags);
|
||||
|
||||
/**
|
||||
* flex_array_free() - Removes all elements of a flexible array.
|
||||
* @fa: array to be freed.
|
||||
*/
|
||||
void flex_array_free(struct flex_array *fa);
|
||||
|
||||
/**
|
||||
* flex_array_free_parts() - Removes all elements of a flexible array, but
|
||||
* leaves the array itself in place.
|
||||
* @fa: array to be emptied.
|
||||
*/
|
||||
void flex_array_free_parts(struct flex_array *fa);
|
||||
|
||||
/**
|
||||
* flex_array_put() - Stores data into a flexible array.
|
||||
* @fa: array where element is to be stored.
|
||||
* @element_nr: position to copy, must be less than the maximum specified when
|
||||
* the array was created.
|
||||
* @src: data source to be copied into the array.
|
||||
* @flags: GFP flags
|
||||
*
|
||||
* Return: Returns zero on success, a negative error code otherwise.
|
||||
*/
|
||||
int flex_array_put(struct flex_array *fa, unsigned int element_nr, void *src,
|
||||
gfp_t flags);
|
||||
|
||||
/**
|
||||
* flex_array_clear() - Clears an individual element in the array, sets the
|
||||
* given element to FLEX_ARRAY_FREE.
|
||||
* @element_nr: element position to clear.
|
||||
* @fa: array to which element to be cleared belongs.
|
||||
*
|
||||
* Return: Returns zero on success, -EINVAL otherwise.
|
||||
*/
|
||||
int flex_array_clear(struct flex_array *fa, unsigned int element_nr);
|
||||
|
||||
/**
|
||||
* flex_array_get() - Retrieves data into a flexible array.
|
||||
*
|
||||
* @element_nr: Element position to retrieve data from.
|
||||
* @fa: array from which data is to be retrieved.
|
||||
*
|
||||
* Return: Returns a pointer to the data element, or NULL if that
|
||||
* particular element has never been allocated.
|
||||
*/
|
||||
void *flex_array_get(struct flex_array *fa, unsigned int element_nr);
|
||||
|
||||
/**
|
||||
* flex_array_shrink() - Reduces the allocated size of an array.
|
||||
* @fa: array to shrink.
|
||||
*
|
||||
* Return: Returns number of pages of memory actually freed.
|
||||
*
|
||||
*/
|
||||
int flex_array_shrink(struct flex_array *fa);
|
||||
|
||||
#define flex_array_put_ptr(fa, nr, src, gfp) \
|
||||
|
@@ -451,6 +451,7 @@ static inline struct usb_composite_driver *to_cdriver(
|
||||
* sure doing that won't hurt too much.
|
||||
*
|
||||
* One notion for how to handle Wireless USB devices involves:
|
||||
*
|
||||
* (a) a second gadget here, discovery mechanism TBD, but likely
|
||||
* needing separate "register/unregister WUSB gadget" calls;
|
||||
* (b) updates to usb_gadget to include flags "is it wireless",
|
||||
@@ -503,8 +504,9 @@ struct usb_composite_dev {
|
||||
/* protects deactivations and delayed_status counts*/
|
||||
spinlock_t lock;
|
||||
|
||||
unsigned setup_pending:1;
|
||||
unsigned os_desc_pending:1;
|
||||
/* public: */
|
||||
unsigned int setup_pending:1;
|
||||
unsigned int os_desc_pending:1;
|
||||
};
|
||||
|
||||
extern int usb_string_id(struct usb_composite_dev *c);
|
||||
|
@@ -188,7 +188,7 @@ struct usb_ep_caps {
|
||||
* @caps:The structure describing types and directions supported by endoint.
|
||||
* @maxpacket:The maximum packet size used on this endpoint. The initial
|
||||
* value can sometimes be reduced (hardware allowing), according to
|
||||
* the endpoint descriptor used to configure the endpoint.
|
||||
* the endpoint descriptor used to configure the endpoint.
|
||||
* @maxpacket_limit:The maximum packet size value which can be handled by this
|
||||
* endpoint. It's set once by UDC driver when endpoint is initialized, and
|
||||
* should not be changed. Should not be confused with maxpacket.
|
||||
|
Reference in New Issue
Block a user