of: Add missing 'Return' section in kerneldoc comments
[ Upstream commit 8c8239c2c1fb82f171cb22a707f3bb88a2f22109 ] Many of the DT kerneldoc comments are lacking a 'Return' section. Let's add the section in cases we have a description of return values. There's still some cases where the return values are not documented. Cc: Frank Rowand <frowand.list@gmail.com> Cc: Mauro Carvalho Chehab <mchehab@kernel.org> Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Link: https://lore.kernel.org/r/20210325164713.1296407-8-robh@kernel.org Stable-dep-of: d79972789d17 ("of: dynamic: Fix of_reconfig_get_state_change() return value documentation") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
b31cb14cac
commit
5cadae629e
@ -306,7 +306,7 @@ struct device_node *__of_find_all_nodes(struct device_node *prev)
|
||||
* @prev: Previous node or NULL to start iteration
|
||||
* of_node_put() will be called on it
|
||||
*
|
||||
* Returns a node pointer with refcount incremented, use
|
||||
* Return: A node pointer with refcount incremented, use
|
||||
* of_node_put() on it when done.
|
||||
*/
|
||||
struct device_node *of_find_all_nodes(struct device_node *prev)
|
||||
@ -436,7 +436,7 @@ bool __weak arch_find_n_match_cpu_physical_id(struct device_node *cpun,
|
||||
* before booting secondary cores. This function uses arch_match_cpu_phys_id
|
||||
* which can be overridden by architecture specific implementation.
|
||||
*
|
||||
* Returns a node pointer for the logical cpu with refcount incremented, use
|
||||
* Return: A node pointer for the logical cpu with refcount incremented, use
|
||||
* of_node_put() on it when done. Returns NULL if not found.
|
||||
*/
|
||||
struct device_node *of_get_cpu_node(int cpu, unsigned int *thread)
|
||||
@ -456,8 +456,8 @@ EXPORT_SYMBOL(of_get_cpu_node);
|
||||
*
|
||||
* @cpu_node: Pointer to the device_node for CPU.
|
||||
*
|
||||
* Returns the logical CPU number of the given CPU device_node.
|
||||
* Returns -ENODEV if the CPU is not found.
|
||||
* Return: The logical CPU number of the given CPU device_node or -ENODEV if the
|
||||
* CPU is not found.
|
||||
*/
|
||||
int of_cpu_node_to_id(struct device_node *cpu_node)
|
||||
{
|
||||
@ -489,7 +489,7 @@ EXPORT_SYMBOL(of_cpu_node_to_id);
|
||||
* bindings. This function check for both and returns the idle state node for
|
||||
* the requested index.
|
||||
*
|
||||
* In case an idle state node is found at @index, the refcount is incremented
|
||||
* Return: An idle state node if found at @index. The refcount is incremented
|
||||
* for it, so call of_node_put() on it when done. Returns NULL if not found.
|
||||
*/
|
||||
struct device_node *of_get_cpu_state_node(struct device_node *cpu_node,
|
||||
@ -623,7 +623,7 @@ int of_device_compatible_match(struct device_node *device,
|
||||
* of_machine_is_compatible - Test root of device tree for a given compatible value
|
||||
* @compat: compatible string to look for in root node's compatible property.
|
||||
*
|
||||
* Returns a positive integer if the root node has the given value in its
|
||||
* Return: A positive integer if the root node has the given value in its
|
||||
* compatible property.
|
||||
*/
|
||||
int of_machine_is_compatible(const char *compat)
|
||||
@ -645,7 +645,7 @@ EXPORT_SYMBOL(of_machine_is_compatible);
|
||||
*
|
||||
* @device: Node to check for availability, with locks already held
|
||||
*
|
||||
* Returns true if the status property is absent or set to "okay" or "ok",
|
||||
* Return: True if the status property is absent or set to "okay" or "ok",
|
||||
* false otherwise
|
||||
*/
|
||||
static bool __of_device_is_available(const struct device_node *device)
|
||||
@ -673,7 +673,7 @@ static bool __of_device_is_available(const struct device_node *device)
|
||||
*
|
||||
* @device: Node to check for availability
|
||||
*
|
||||
* Returns true if the status property is absent or set to "okay" or "ok",
|
||||
* Return: True if the status property is absent or set to "okay" or "ok",
|
||||
* false otherwise
|
||||
*/
|
||||
bool of_device_is_available(const struct device_node *device)
|
||||
@ -694,7 +694,7 @@ EXPORT_SYMBOL(of_device_is_available);
|
||||
*
|
||||
* @device: Node to check for endianness
|
||||
*
|
||||
* Returns true if the device has a "big-endian" property, or if the kernel
|
||||
* Return: True if the device has a "big-endian" property, or if the kernel
|
||||
* was compiled for BE *and* the device has a "native-endian" property.
|
||||
* Returns false otherwise.
|
||||
*
|
||||
@ -878,7 +878,7 @@ EXPORT_SYMBOL(of_get_next_cpu_node);
|
||||
* Lookup child node whose compatible property contains the given compatible
|
||||
* string.
|
||||
*
|
||||
* Returns a node pointer with refcount incremented, use of_node_put() on it
|
||||
* Return: a node pointer with refcount incremented, use of_node_put() on it
|
||||
* when done; or NULL if not found.
|
||||
*/
|
||||
struct device_node *of_get_compatible_child(const struct device_node *parent,
|
||||
@ -1232,7 +1232,7 @@ EXPORT_SYMBOL(of_find_matching_node_and_match);
|
||||
* It does this by stripping the manufacturer prefix (as delimited by a ',')
|
||||
* from the first entry in the compatible list property.
|
||||
*
|
||||
* This routine returns 0 on success, <0 on failure.
|
||||
* Return: This routine returns 0 on success, <0 on failure.
|
||||
*/
|
||||
int of_modalias_node(struct device_node *node, char *modalias, int len)
|
||||
{
|
||||
@ -1252,7 +1252,7 @@ EXPORT_SYMBOL_GPL(of_modalias_node);
|
||||
* of_find_node_by_phandle - Find a node given a phandle
|
||||
* @handle: phandle of the node to find
|
||||
*
|
||||
* Returns a node pointer with refcount incremented, use
|
||||
* Return: A node pointer with refcount incremented, use
|
||||
* of_node_put() on it when done.
|
||||
*/
|
||||
struct device_node *of_find_node_by_phandle(phandle handle)
|
||||
@ -1505,7 +1505,7 @@ static int __of_parse_phandle_with_args(const struct device_node *np,
|
||||
* @index: For properties holding a table of phandles, this is the index into
|
||||
* the table
|
||||
*
|
||||
* Returns the device_node pointer with refcount incremented. Use
|
||||
* Return: The device_node pointer with refcount incremented. Use
|
||||
* of_node_put() on it when done.
|
||||
*/
|
||||
struct device_node *of_parse_phandle(const struct device_node *np,
|
||||
@ -1805,7 +1805,7 @@ EXPORT_SYMBOL(of_parse_phandle_with_fixed_args);
|
||||
* @list_name: property name that contains a list
|
||||
* @cells_name: property name that specifies phandles' arguments count
|
||||
*
|
||||
* Returns the number of phandle + argument tuples within a property. It
|
||||
* Return: The number of phandle + argument tuples within a property. It
|
||||
* is a typical pattern to encode a list of phandle and variable
|
||||
* arguments into a single property. The number of arguments is encoded
|
||||
* by a property in the phandle-target node. For example, a gpios
|
||||
@ -2104,7 +2104,9 @@ void of_alias_scan(void * (*dt_alloc)(u64 size, u64 align))
|
||||
* @stem: Alias stem of the given device_node
|
||||
*
|
||||
* The function travels the lookup table to get the alias id for the given
|
||||
* device_node and alias stem. It returns the alias id if found.
|
||||
* device_node and alias stem.
|
||||
*
|
||||
* Return: The alias id if found.
|
||||
*/
|
||||
int of_alias_get_id(struct device_node *np, const char *stem)
|
||||
{
|
||||
@ -2213,8 +2215,9 @@ EXPORT_SYMBOL_GPL(of_alias_get_highest_id);
|
||||
* @index: Index to use for preferred console.
|
||||
*
|
||||
* Check if the given device node matches the stdout-path property in the
|
||||
* /chosen node. If it does then register it as the preferred console and return
|
||||
* TRUE. Otherwise return FALSE.
|
||||
* /chosen node. If it does then register it as the preferred console.
|
||||
*
|
||||
* Return: TRUE if console successfully setup. Otherwise return FALSE.
|
||||
*/
|
||||
bool of_console_check(struct device_node *dn, char *name, int index)
|
||||
{
|
||||
@ -2265,7 +2268,7 @@ struct device_node *of_find_next_cache_node(const struct device_node *np)
|
||||
*
|
||||
* @cpu: cpu number(logical index) for which the last cache level is needed
|
||||
*
|
||||
* Returns the the level at which the last cache is present. It is exactly
|
||||
* Return: The the level at which the last cache is present. It is exactly
|
||||
* same as the total number of cache levels for the given logical cpu.
|
||||
*/
|
||||
int of_find_last_cache_level(unsigned int cpu)
|
||||
|
@ -27,7 +27,7 @@ static struct device_node *kobj_to_device_node(struct kobject *kobj)
|
||||
* @node: Node to inc refcount, NULL is supported to simplify writing of
|
||||
* callers
|
||||
*
|
||||
* Returns node.
|
||||
* Return: The node with refcount incremented.
|
||||
*/
|
||||
struct device_node *of_node_get(struct device_node *node)
|
||||
{
|
||||
@ -104,7 +104,8 @@ int of_reconfig_notify(unsigned long action, struct of_reconfig_data *p)
|
||||
* @arg - argument of the of notifier
|
||||
*
|
||||
* Returns the new state of a device based on the notifier used.
|
||||
* Returns 0 on device going from enabled to disabled, 1 on device
|
||||
*
|
||||
* Return: 0 on device going from enabled to disabled, 1 on device
|
||||
* going from disabled to enabled and -1 on no change.
|
||||
*/
|
||||
int of_reconfig_get_state_change(unsigned long action, struct of_reconfig_data *pr)
|
||||
@ -372,7 +373,8 @@ void of_node_release(struct kobject *kobj)
|
||||
* property structure and the property name & contents. The property's
|
||||
* flags have the OF_DYNAMIC bit set so that we can differentiate between
|
||||
* dynamically allocated properties and not.
|
||||
* Returns the newly allocated property or NULL on out of memory error.
|
||||
*
|
||||
* Return: The newly allocated property or NULL on out of memory error.
|
||||
*/
|
||||
struct property *__of_prop_dup(const struct property *prop, gfp_t allocflags)
|
||||
{
|
||||
@ -415,7 +417,7 @@ struct property *__of_prop_dup(const struct property *prop, gfp_t allocflags)
|
||||
* another node. The node data are dynamically allocated and all the node
|
||||
* flags have the OF_DYNAMIC & OF_DETACHED bits set.
|
||||
*
|
||||
* Returns the newly allocated node or NULL on out of memory error.
|
||||
* Return: The newly allocated node or NULL on out of memory error.
|
||||
*/
|
||||
struct device_node *__of_node_dup(const struct device_node *np,
|
||||
const char *full_name)
|
||||
@ -781,7 +783,8 @@ static int __of_changeset_apply(struct of_changeset *ocs)
|
||||
* Any side-effects of live tree state changes are applied here on
|
||||
* success, like creation/destruction of devices and side-effects
|
||||
* like creation of sysfs properties and directories.
|
||||
* Returns 0 on success, a negative error value in case of an error.
|
||||
*
|
||||
* Return: 0 on success, a negative error value in case of an error.
|
||||
* On error the partially applied effects are reverted.
|
||||
*/
|
||||
int of_changeset_apply(struct of_changeset *ocs)
|
||||
@ -875,7 +878,8 @@ static int __of_changeset_revert(struct of_changeset *ocs)
|
||||
* was before the application.
|
||||
* Any side-effects like creation/destruction of devices and
|
||||
* removal of sysfs properties and directories are applied.
|
||||
* Returns 0 on success, a negative error value in case of an error.
|
||||
*
|
||||
* Return: 0 on success, a negative error value in case of an error.
|
||||
*/
|
||||
int of_changeset_revert(struct of_changeset *ocs)
|
||||
{
|
||||
@ -903,7 +907,8 @@ EXPORT_SYMBOL_GPL(of_changeset_revert);
|
||||
* + OF_RECONFIG_ADD_PROPERTY
|
||||
* + OF_RECONFIG_REMOVE_PROPERTY,
|
||||
* + OF_RECONFIG_UPDATE_PROPERTY
|
||||
* Returns 0 on success, a negative error value in case of an error.
|
||||
*
|
||||
* Return: 0 on success, a negative error value in case of an error.
|
||||
*/
|
||||
int of_changeset_action(struct of_changeset *ocs, unsigned long action,
|
||||
struct device_node *np, struct property *prop)
|
||||
|
@ -282,7 +282,7 @@ static void reverse_nodes(struct device_node *parent)
|
||||
* @dad: Parent struct device_node
|
||||
* @nodepp: The device_node tree created by the call
|
||||
*
|
||||
* It returns the size of unflattened device tree or error code
|
||||
* Return: The size of unflattened device tree or error code
|
||||
*/
|
||||
static int unflatten_dt_nodes(const void *blob,
|
||||
void *mem,
|
||||
@ -360,7 +360,7 @@ static int unflatten_dt_nodes(const void *blob,
|
||||
* fills the "name" and "type" pointers of the nodes so the normal device-tree
|
||||
* walking functions can be used.
|
||||
*
|
||||
* Returns NULL on failure or the memory chunk containing the unflattened
|
||||
* Return: NULL on failure or the memory chunk containing the unflattened
|
||||
* device tree on success.
|
||||
*/
|
||||
void *__unflatten_device_tree(const void *blob,
|
||||
@ -441,7 +441,7 @@ static DEFINE_MUTEX(of_fdt_unflatten_mutex);
|
||||
* pointers of the nodes so the normal device-tree walking functions
|
||||
* can be used.
|
||||
*
|
||||
* Returns NULL on failure or the memory chunk containing the unflattened
|
||||
* Return: NULL on failure or the memory chunk containing the unflattened
|
||||
* device tree on success.
|
||||
*/
|
||||
void *of_fdt_unflatten_tree(const unsigned long *blob,
|
||||
@ -719,7 +719,7 @@ const void *__init of_get_flat_dt_prop(unsigned long node, const char *name,
|
||||
* @node: node to test
|
||||
* @compat: compatible string to compare with compatible list.
|
||||
*
|
||||
* On match, returns a non-zero value with smaller values returned for more
|
||||
* Return: a non-zero value on match with smaller values returned for more
|
||||
* specific compatible values.
|
||||
*/
|
||||
static int of_fdt_is_compatible(const void *blob,
|
||||
|
@ -48,7 +48,7 @@ EXPORT_SYMBOL_GPL(irq_of_parse_and_map);
|
||||
* of_irq_find_parent - Given a device node, find its interrupt parent node
|
||||
* @child: pointer to device node
|
||||
*
|
||||
* Returns a pointer to the interrupt parent node, or NULL if the interrupt
|
||||
* Return: A pointer to the interrupt parent node, or NULL if the interrupt
|
||||
* parent could not be determined.
|
||||
*/
|
||||
struct device_node *of_irq_find_parent(struct device_node *child)
|
||||
@ -81,14 +81,14 @@ EXPORT_SYMBOL_GPL(of_irq_find_parent);
|
||||
* @addr: address specifier (start of "reg" property of the device) in be32 format
|
||||
* @out_irq: structure of_phandle_args updated by this function
|
||||
*
|
||||
* Returns 0 on success and a negative number on error
|
||||
*
|
||||
* This function is a low-level interrupt tree walking function. It
|
||||
* can be used to do a partial walk with synthetized reg and interrupts
|
||||
* properties, for example when resolving PCI interrupts when no device
|
||||
* node exist for the parent. It takes an interrupt specifier structure as
|
||||
* input, walks the tree looking for any interrupt-map properties, translates
|
||||
* the specifier for each map, and then returns the translated map.
|
||||
*
|
||||
* Return: 0 on success and a negative number on error
|
||||
*/
|
||||
int of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq)
|
||||
{
|
||||
@ -380,7 +380,7 @@ EXPORT_SYMBOL_GPL(of_irq_to_resource);
|
||||
* @dev: pointer to device tree node
|
||||
* @index: zero-based index of the IRQ
|
||||
*
|
||||
* Returns Linux IRQ number on success, or 0 on the IRQ mapping failure, or
|
||||
* Return: Linux IRQ number on success, or 0 on the IRQ mapping failure, or
|
||||
* -EPROBE_DEFER if the IRQ domain is not yet created, or error code in case
|
||||
* of any other failure.
|
||||
*/
|
||||
@ -407,7 +407,7 @@ EXPORT_SYMBOL_GPL(of_irq_get);
|
||||
* @dev: pointer to device tree node
|
||||
* @name: IRQ name
|
||||
*
|
||||
* Returns Linux IRQ number on success, or 0 on the IRQ mapping failure, or
|
||||
* Return: Linux IRQ number on success, or 0 on the IRQ mapping failure, or
|
||||
* -EPROBE_DEFER if the IRQ domain is not yet created, or error code in case
|
||||
* of any other failure.
|
||||
*/
|
||||
@ -447,7 +447,7 @@ int of_irq_count(struct device_node *dev)
|
||||
* @res: array of resources to fill in
|
||||
* @nr_irqs: the number of IRQs (and upper bound for num of @res elements)
|
||||
*
|
||||
* Returns the size of the filled in table (up to @nr_irqs).
|
||||
* Return: The size of the filled in table (up to @nr_irqs).
|
||||
*/
|
||||
int of_irq_to_resource_table(struct device_node *dev, struct resource *res,
|
||||
int nr_irqs)
|
||||
@ -602,7 +602,7 @@ static u32 __of_msi_map_id(struct device *dev, struct device_node **np,
|
||||
* Walk up the device hierarchy looking for devices with a "msi-map"
|
||||
* property. If found, apply the mapping to @id_in.
|
||||
*
|
||||
* Returns the mapped MSI ID.
|
||||
* Return: The mapped MSI ID.
|
||||
*/
|
||||
u32 of_msi_map_id(struct device *dev, struct device_node *msi_np, u32 id_in)
|
||||
{
|
||||
|
@ -296,7 +296,7 @@ err_free_target_path:
|
||||
*
|
||||
* Update of property in symbols node is not allowed.
|
||||
*
|
||||
* Returns 0 on success, -ENOMEM if memory allocation failure, or -EINVAL if
|
||||
* Return: 0 on success, -ENOMEM if memory allocation failure, or -EINVAL if
|
||||
* invalid @overlay.
|
||||
*/
|
||||
static int add_changeset_property(struct overlay_changeset *ovcs,
|
||||
@ -401,7 +401,7 @@ static int add_changeset_property(struct overlay_changeset *ovcs,
|
||||
*
|
||||
* NOTE_2: Multiple mods of created nodes not supported.
|
||||
*
|
||||
* Returns 0 on success, -ENOMEM if memory allocation failure, or -EINVAL if
|
||||
* Return: 0 on success, -ENOMEM if memory allocation failure, or -EINVAL if
|
||||
* invalid @overlay.
|
||||
*/
|
||||
static int add_changeset_node(struct overlay_changeset *ovcs,
|
||||
@ -473,7 +473,7 @@ static int add_changeset_node(struct overlay_changeset *ovcs,
|
||||
*
|
||||
* Do not allow symbols node to have any children.
|
||||
*
|
||||
* Returns 0 on success, -ENOMEM if memory allocation failure, or -EINVAL if
|
||||
* Return: 0 on success, -ENOMEM if memory allocation failure, or -EINVAL if
|
||||
* invalid @overlay_node.
|
||||
*/
|
||||
static int build_changeset_next_level(struct overlay_changeset *ovcs,
|
||||
@ -604,7 +604,7 @@ static int find_dup_cset_prop(struct overlay_changeset *ovcs,
|
||||
* the same node or duplicate {add, delete, or update} properties entries
|
||||
* for the same property.
|
||||
*
|
||||
* Returns 0 on success, or -EINVAL if duplicate changeset entry found.
|
||||
* Return: 0 on success, or -EINVAL if duplicate changeset entry found.
|
||||
*/
|
||||
static int changeset_dup_entry_check(struct overlay_changeset *ovcs)
|
||||
{
|
||||
@ -628,7 +628,7 @@ static int changeset_dup_entry_check(struct overlay_changeset *ovcs)
|
||||
* any portions of the changeset that were successfully created will remain
|
||||
* in @ovcs->cset.
|
||||
*
|
||||
* Returns 0 on success, -ENOMEM if memory allocation failure, or -EINVAL if
|
||||
* Return: 0 on success, -ENOMEM if memory allocation failure, or -EINVAL if
|
||||
* invalid overlay in @ovcs->fragments[].
|
||||
*/
|
||||
static int build_changeset(struct overlay_changeset *ovcs)
|
||||
@ -724,7 +724,7 @@ static struct device_node *find_target(struct device_node *info_node)
|
||||
* the top level of @tree. The relevant top level nodes are the fragment
|
||||
* nodes and the __symbols__ node. Any other top level node will be ignored.
|
||||
*
|
||||
* Returns 0 on success, -ENOMEM if memory allocation failure, -EINVAL if error
|
||||
* Return: 0 on success, -ENOMEM if memory allocation failure, -EINVAL if error
|
||||
* detected in @tree, or -ENOSPC if idr_alloc() error.
|
||||
*/
|
||||
static int init_overlay_changeset(struct overlay_changeset *ovcs,
|
||||
@ -1180,7 +1180,7 @@ static int overlay_removal_is_ok(struct overlay_changeset *remove_ovcs)
|
||||
* If an error is returned by an overlay changeset post-remove notifier
|
||||
* then no further overlay changeset post-remove notifier will be called.
|
||||
*
|
||||
* Returns 0 on success, or a negative error number. *ovcs_id is set to
|
||||
* Return: 0 on success, or a negative error number. *ovcs_id is set to
|
||||
* zero after reverting the changeset, even if a subsequent error occurs.
|
||||
*/
|
||||
int of_overlay_remove(int *ovcs_id)
|
||||
@ -1267,7 +1267,7 @@ EXPORT_SYMBOL_GPL(of_overlay_remove);
|
||||
*
|
||||
* Removes all overlays from the system in the correct order.
|
||||
*
|
||||
* Returns 0 on success, or a negative error number
|
||||
* Return: 0 on success, or a negative error number
|
||||
*/
|
||||
int of_overlay_remove_all(void)
|
||||
{
|
||||
|
@ -44,7 +44,7 @@ static const struct of_device_id of_skipped_node_table[] = {
|
||||
* Takes a reference to the embedded struct device which needs to be dropped
|
||||
* after use.
|
||||
*
|
||||
* Returns platform_device pointer, or NULL if not found
|
||||
* Return: platform_device pointer, or NULL if not found
|
||||
*/
|
||||
struct platform_device *of_find_device_by_node(struct device_node *np)
|
||||
{
|
||||
@ -160,7 +160,7 @@ EXPORT_SYMBOL(of_device_alloc);
|
||||
* @platform_data: pointer to populate platform_data pointer with
|
||||
* @parent: Linux device model parent device.
|
||||
*
|
||||
* Returns pointer to created platform device, or NULL if a device was not
|
||||
* Return: Pointer to created platform device, or NULL if a device was not
|
||||
* registered. Unavailable devices will not get registered.
|
||||
*/
|
||||
static struct platform_device *of_platform_device_create_pdata(
|
||||
@ -204,7 +204,7 @@ err_clear_flag:
|
||||
* @bus_id: name to assign device
|
||||
* @parent: Linux device model parent device.
|
||||
*
|
||||
* Returns pointer to created platform device, or NULL if a device was not
|
||||
* Return: Pointer to created platform device, or NULL if a device was not
|
||||
* registered. Unavailable devices will not get registered.
|
||||
*/
|
||||
struct platform_device *of_platform_device_create(struct device_node *np,
|
||||
@ -463,7 +463,7 @@ EXPORT_SYMBOL(of_platform_bus_probe);
|
||||
* New board support should be using this function instead of
|
||||
* of_platform_bus_probe().
|
||||
*
|
||||
* Returns 0 on success, < 0 on failure.
|
||||
* Return: 0 on success, < 0 on failure.
|
||||
*/
|
||||
int of_platform_populate(struct device_node *root,
|
||||
const struct of_device_id *matches,
|
||||
@ -594,7 +594,7 @@ static void devm_of_platform_populate_release(struct device *dev, void *res)
|
||||
* Similar to of_platform_populate(), but will automatically call
|
||||
* of_platform_depopulate() when the device is unbound from the bus.
|
||||
*
|
||||
* Returns 0 on success, < 0 on failure.
|
||||
* Return: 0 on success, < 0 on failure.
|
||||
*/
|
||||
int devm_of_platform_populate(struct device *dev)
|
||||
{
|
||||
|
@ -36,9 +36,11 @@
|
||||
* @elem_size: size of the individual element
|
||||
*
|
||||
* Search for a property in a device node and count the number of elements of
|
||||
* size elem_size in it. Returns number of elements on sucess, -EINVAL if the
|
||||
* property does not exist or its length does not match a multiple of elem_size
|
||||
* and -ENODATA if the property does not have a value.
|
||||
* size elem_size in it.
|
||||
*
|
||||
* Return: The number of elements on sucess, -EINVAL if the property does not
|
||||
* exist or its length does not match a multiple of elem_size and -ENODATA if
|
||||
* the property does not have a value.
|
||||
*/
|
||||
int of_property_count_elems_of_size(const struct device_node *np,
|
||||
const char *propname, int elem_size)
|
||||
@ -70,8 +72,9 @@ EXPORT_SYMBOL_GPL(of_property_count_elems_of_size);
|
||||
* @len: if !=NULL, actual length is written to here
|
||||
*
|
||||
* Search for a property in a device node and valid the requested size.
|
||||
* Returns the property value on success, -EINVAL if the property does not
|
||||
* exist, -ENODATA if property does not have a value, and -EOVERFLOW if the
|
||||
*
|
||||
* Return: The property value on success, -EINVAL if the property does not
|
||||
* exist, -ENODATA if property does not have a value, and -EOVERFLOW if the
|
||||
* property data is too small or too large.
|
||||
*
|
||||
*/
|
||||
@ -104,7 +107,9 @@ static void *of_find_property_value_of_size(const struct device_node *np,
|
||||
* @out_value: pointer to return value, modified only if no error.
|
||||
*
|
||||
* Search for a property in a device node and read nth 32-bit value from
|
||||
* it. Returns 0 on success, -EINVAL if the property does not exist,
|
||||
* it.
|
||||
*
|
||||
* Return: 0 on success, -EINVAL if the property does not exist,
|
||||
* -ENODATA if property does not have a value, and -EOVERFLOW if the
|
||||
* property data isn't large enough.
|
||||
*
|
||||
@ -136,7 +141,9 @@ EXPORT_SYMBOL_GPL(of_property_read_u32_index);
|
||||
* @out_value: pointer to return value, modified only if no error.
|
||||
*
|
||||
* Search for a property in a device node and read nth 64-bit value from
|
||||
* it. Returns 0 on success, -EINVAL if the property does not exist,
|
||||
* it.
|
||||
*
|
||||
* Return: 0 on success, -EINVAL if the property does not exist,
|
||||
* -ENODATA if property does not have a value, and -EOVERFLOW if the
|
||||
* property data isn't large enough.
|
||||
*
|
||||
@ -171,12 +178,14 @@ EXPORT_SYMBOL_GPL(of_property_read_u64_index);
|
||||
* sz_min will be read.
|
||||
*
|
||||
* Search for a property in a device node and read 8-bit value(s) from
|
||||
* it. Returns number of elements read on success, -EINVAL if the property
|
||||
* does not exist, -ENODATA if property does not have a value, and -EOVERFLOW
|
||||
* if the property data is smaller than sz_min or longer than sz_max.
|
||||
* it.
|
||||
*
|
||||
* dts entry of array should be like:
|
||||
* property = /bits/ 8 <0x50 0x60 0x70>;
|
||||
* ``property = /bits/ 8 <0x50 0x60 0x70>;``
|
||||
*
|
||||
* Return: The number of elements read on success, -EINVAL if the property
|
||||
* does not exist, -ENODATA if property does not have a value, and -EOVERFLOW
|
||||
* if the property data is smaller than sz_min or longer than sz_max.
|
||||
*
|
||||
* The out_values is modified only if a valid u8 value can be decoded.
|
||||
*/
|
||||
@ -219,12 +228,14 @@ EXPORT_SYMBOL_GPL(of_property_read_variable_u8_array);
|
||||
* sz_min will be read.
|
||||
*
|
||||
* Search for a property in a device node and read 16-bit value(s) from
|
||||
* it. Returns number of elements read on success, -EINVAL if the property
|
||||
* does not exist, -ENODATA if property does not have a value, and -EOVERFLOW
|
||||
* if the property data is smaller than sz_min or longer than sz_max.
|
||||
* it.
|
||||
*
|
||||
* dts entry of array should be like:
|
||||
* property = /bits/ 16 <0x5000 0x6000 0x7000>;
|
||||
* ``property = /bits/ 16 <0x5000 0x6000 0x7000>;``
|
||||
*
|
||||
* Return: The number of elements read on success, -EINVAL if the property
|
||||
* does not exist, -ENODATA if property does not have a value, and -EOVERFLOW
|
||||
* if the property data is smaller than sz_min or longer than sz_max.
|
||||
*
|
||||
* The out_values is modified only if a valid u16 value can be decoded.
|
||||
*/
|
||||
@ -267,7 +278,9 @@ EXPORT_SYMBOL_GPL(of_property_read_variable_u16_array);
|
||||
* sz_min will be read.
|
||||
*
|
||||
* Search for a property in a device node and read 32-bit value(s) from
|
||||
* it. Returns number of elements read on success, -EINVAL if the property
|
||||
* it.
|
||||
*
|
||||
* Return: The number of elements read on success, -EINVAL if the property
|
||||
* does not exist, -ENODATA if property does not have a value, and -EOVERFLOW
|
||||
* if the property data is smaller than sz_min or longer than sz_max.
|
||||
*
|
||||
@ -306,7 +319,9 @@ EXPORT_SYMBOL_GPL(of_property_read_variable_u32_array);
|
||||
* @out_value: pointer to return value, modified only if return value is 0.
|
||||
*
|
||||
* Search for a property in a device node and read a 64-bit value from
|
||||
* it. Returns 0 on success, -EINVAL if the property does not exist,
|
||||
* it.
|
||||
*
|
||||
* Return: 0 on success, -EINVAL if the property does not exist,
|
||||
* -ENODATA if property does not have a value, and -EOVERFLOW if the
|
||||
* property data isn't large enough.
|
||||
*
|
||||
@ -341,7 +356,9 @@ EXPORT_SYMBOL_GPL(of_property_read_u64);
|
||||
* sz_min will be read.
|
||||
*
|
||||
* Search for a property in a device node and read 64-bit value(s) from
|
||||
* it. Returns number of elements read on success, -EINVAL if the property
|
||||
* it.
|
||||
*
|
||||
* Return: The number of elements read on success, -EINVAL if the property
|
||||
* does not exist, -ENODATA if property does not have a value, and -EOVERFLOW
|
||||
* if the property data is smaller than sz_min or longer than sz_max.
|
||||
*
|
||||
@ -383,10 +400,11 @@ EXPORT_SYMBOL_GPL(of_property_read_variable_u64_array);
|
||||
* return value is 0.
|
||||
*
|
||||
* Search for a property in a device tree node and retrieve a null
|
||||
* terminated string value (pointer to data, not a copy). Returns 0 on
|
||||
* success, -EINVAL if the property does not exist, -ENODATA if property
|
||||
* does not have a value, and -EILSEQ if the string is not null-terminated
|
||||
* within the length of the property data.
|
||||
* terminated string value (pointer to data, not a copy).
|
||||
*
|
||||
* Return: 0 on success, -EINVAL if the property does not exist, -ENODATA if
|
||||
* property does not have a value, and -EILSEQ if the string is not
|
||||
* null-terminated within the length of the property data.
|
||||
*
|
||||
* The out_string pointer is modified only if a valid string can be decoded.
|
||||
*/
|
||||
@ -750,7 +768,7 @@ EXPORT_SYMBOL(of_graph_get_remote_port_parent);
|
||||
* @node: pointer to a local endpoint device_node
|
||||
*
|
||||
* Return: Remote port node associated with remote endpoint node linked
|
||||
* to @node. Use of_node_put() on it when done.
|
||||
* to @node. Use of_node_put() on it when done.
|
||||
*/
|
||||
struct device_node *of_graph_get_remote_port(const struct device_node *node)
|
||||
{
|
||||
@ -783,7 +801,7 @@ EXPORT_SYMBOL(of_graph_get_endpoint_count);
|
||||
* @endpoint: identifier (value of reg property) of the endpoint node
|
||||
*
|
||||
* Return: Remote device node associated with remote endpoint node linked
|
||||
* to @node. Use of_node_put() on it when done.
|
||||
* to @node. Use of_node_put() on it when done.
|
||||
*/
|
||||
struct device_node *of_graph_get_remote_node(const struct device_node *node,
|
||||
u32 port, u32 endpoint)
|
||||
|
@ -424,12 +424,14 @@ extern int of_detach_node(struct device_node *);
|
||||
* @sz: number of array elements to read
|
||||
*
|
||||
* Search for a property in a device node and read 8-bit value(s) from
|
||||
* it. Returns 0 on success, -EINVAL if the property does not exist,
|
||||
* -ENODATA if property does not have a value, and -EOVERFLOW if the
|
||||
* property data isn't large enough.
|
||||
* it.
|
||||
*
|
||||
* dts entry of array should be like:
|
||||
* property = /bits/ 8 <0x50 0x60 0x70>;
|
||||
* ``property = /bits/ 8 <0x50 0x60 0x70>;``
|
||||
*
|
||||
* Return: 0 on success, -EINVAL if the property does not exist,
|
||||
* -ENODATA if property does not have a value, and -EOVERFLOW if the
|
||||
* property data isn't large enough.
|
||||
*
|
||||
* The out_values is modified only if a valid u8 value can be decoded.
|
||||
*/
|
||||
@ -454,12 +456,14 @@ static inline int of_property_read_u8_array(const struct device_node *np,
|
||||
* @sz: number of array elements to read
|
||||
*
|
||||
* Search for a property in a device node and read 16-bit value(s) from
|
||||
* it. Returns 0 on success, -EINVAL if the property does not exist,
|
||||
* -ENODATA if property does not have a value, and -EOVERFLOW if the
|
||||
* property data isn't large enough.
|
||||
* it.
|
||||
*
|
||||
* dts entry of array should be like:
|
||||
* property = /bits/ 16 <0x5000 0x6000 0x7000>;
|
||||
* ``property = /bits/ 16 <0x5000 0x6000 0x7000>;``
|
||||
*
|
||||
* Return: 0 on success, -EINVAL if the property does not exist,
|
||||
* -ENODATA if property does not have a value, and -EOVERFLOW if the
|
||||
* property data isn't large enough.
|
||||
*
|
||||
* The out_values is modified only if a valid u16 value can be decoded.
|
||||
*/
|
||||
@ -485,7 +489,9 @@ static inline int of_property_read_u16_array(const struct device_node *np,
|
||||
* @sz: number of array elements to read
|
||||
*
|
||||
* Search for a property in a device node and read 32-bit value(s) from
|
||||
* it. Returns 0 on success, -EINVAL if the property does not exist,
|
||||
* it.
|
||||
*
|
||||
* Return: 0 on success, -EINVAL if the property does not exist,
|
||||
* -ENODATA if property does not have a value, and -EOVERFLOW if the
|
||||
* property data isn't large enough.
|
||||
*
|
||||
@ -513,7 +519,9 @@ static inline int of_property_read_u32_array(const struct device_node *np,
|
||||
* @sz: number of array elements to read
|
||||
*
|
||||
* Search for a property in a device node and read 64-bit value(s) from
|
||||
* it. Returns 0 on success, -EINVAL if the property does not exist,
|
||||
* it.
|
||||
*
|
||||
* Return: 0 on success, -EINVAL if the property does not exist,
|
||||
* -ENODATA if property does not have a value, and -EOVERFLOW if the
|
||||
* property data isn't large enough.
|
||||
*
|
||||
@ -1046,7 +1054,9 @@ static inline bool of_node_is_type(const struct device_node *np, const char *typ
|
||||
* @propname: name of the property to be searched.
|
||||
*
|
||||
* Search for a property in a device node and count the number of u8 elements
|
||||
* in it. Returns number of elements on sucess, -EINVAL if the property does
|
||||
* in it.
|
||||
*
|
||||
* Return: The number of elements on sucess, -EINVAL if the property does
|
||||
* not exist or its length does not match a multiple of u8 and -ENODATA if the
|
||||
* property does not have a value.
|
||||
*/
|
||||
@ -1063,7 +1073,9 @@ static inline int of_property_count_u8_elems(const struct device_node *np,
|
||||
* @propname: name of the property to be searched.
|
||||
*
|
||||
* Search for a property in a device node and count the number of u16 elements
|
||||
* in it. Returns number of elements on sucess, -EINVAL if the property does
|
||||
* in it.
|
||||
*
|
||||
* Return: The number of elements on sucess, -EINVAL if the property does
|
||||
* not exist or its length does not match a multiple of u16 and -ENODATA if the
|
||||
* property does not have a value.
|
||||
*/
|
||||
@ -1080,7 +1092,9 @@ static inline int of_property_count_u16_elems(const struct device_node *np,
|
||||
* @propname: name of the property to be searched.
|
||||
*
|
||||
* Search for a property in a device node and count the number of u32 elements
|
||||
* in it. Returns number of elements on sucess, -EINVAL if the property does
|
||||
* in it.
|
||||
*
|
||||
* Return: The number of elements on sucess, -EINVAL if the property does
|
||||
* not exist or its length does not match a multiple of u32 and -ENODATA if the
|
||||
* property does not have a value.
|
||||
*/
|
||||
@ -1097,7 +1111,9 @@ static inline int of_property_count_u32_elems(const struct device_node *np,
|
||||
* @propname: name of the property to be searched.
|
||||
*
|
||||
* Search for a property in a device node and count the number of u64 elements
|
||||
* in it. Returns number of elements on sucess, -EINVAL if the property does
|
||||
* in it.
|
||||
*
|
||||
* Return: The number of elements on sucess, -EINVAL if the property does
|
||||
* not exist or its length does not match a multiple of u64 and -ENODATA if the
|
||||
* property does not have a value.
|
||||
*/
|
||||
@ -1118,7 +1134,7 @@ static inline int of_property_count_u64_elems(const struct device_node *np,
|
||||
* Search for a property in a device tree node and retrieve a list of
|
||||
* terminated string values (pointer to data, not a copy) in that property.
|
||||
*
|
||||
* If @out_strs is NULL, the number of strings in the property is returned.
|
||||
* Return: If @out_strs is NULL, the number of strings in the property is returned.
|
||||
*/
|
||||
static inline int of_property_read_string_array(const struct device_node *np,
|
||||
const char *propname, const char **out_strs,
|
||||
@ -1134,10 +1150,11 @@ static inline int of_property_read_string_array(const struct device_node *np,
|
||||
* @propname: name of the property to be searched.
|
||||
*
|
||||
* Search for a property in a device tree node and retrieve the number of null
|
||||
* terminated string contain in it. Returns the number of strings on
|
||||
* success, -EINVAL if the property does not exist, -ENODATA if property
|
||||
* does not have a value, and -EILSEQ if the string is not null-terminated
|
||||
* within the length of the property data.
|
||||
* terminated string contain in it.
|
||||
*
|
||||
* Return: The number of strings on success, -EINVAL if the property does not
|
||||
* exist, -ENODATA if property does not have a value, and -EILSEQ if the string
|
||||
* is not null-terminated within the length of the property data.
|
||||
*/
|
||||
static inline int of_property_count_strings(const struct device_node *np,
|
||||
const char *propname)
|
||||
@ -1157,7 +1174,8 @@ static inline int of_property_count_strings(const struct device_node *np,
|
||||
* Search for a property in a device tree node and retrieve a null
|
||||
* terminated string value (pointer to data, not a copy) in the list of strings
|
||||
* contained in that property.
|
||||
* Returns 0 on success, -EINVAL if the property does not exist, -ENODATA if
|
||||
*
|
||||
* Return: 0 on success, -EINVAL if the property does not exist, -ENODATA if
|
||||
* property does not have a value, and -EILSEQ if the string is not
|
||||
* null-terminated within the length of the property data.
|
||||
*
|
||||
@ -1177,7 +1195,8 @@ static inline int of_property_read_string_index(const struct device_node *np,
|
||||
* @propname: name of the property to be searched.
|
||||
*
|
||||
* Search for a property in a device node.
|
||||
* Returns true if the property exists false otherwise.
|
||||
*
|
||||
* Return: true if the property exists false otherwise.
|
||||
*/
|
||||
static inline bool of_property_read_bool(const struct device_node *np,
|
||||
const char *propname)
|
||||
@ -1423,7 +1442,7 @@ static inline int of_reconfig_get_state_change(unsigned long action,
|
||||
* of_device_is_system_power_controller - Tells if system-power-controller is found for device_node
|
||||
* @np: Pointer to the given device_node
|
||||
*
|
||||
* return true if present false otherwise
|
||||
* Return: true if present false otherwise
|
||||
*/
|
||||
static inline bool of_device_is_system_power_controller(const struct device_node *np)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user