Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp656613pxf; Thu, 25 Mar 2021 10:55:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzmtengU3dMtrBlBHnRg8Kj93CbhhJGzxQ6K5fr9Ywe+7HaCKyyo2t6/p+aLUsJDhhIOsMh X-Received: by 2002:aa7:c74a:: with SMTP id c10mr10325735eds.332.1616694904081; Thu, 25 Mar 2021 10:55:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616694904; cv=none; d=google.com; s=arc-20160816; b=op2pBkQ36Y9okls3/wZn/mRUjfwCKjz9CnyfgGKbD37c2NgUk1IwtbdTR71dh05tvO MqOUo5voKcGBlwbPHr2DW8fmjUyLu4qPH2Hf5FoBbxzsDGw43tzj9F+xWAV7HvCnZrxW XcNWgxun6G4O3qDiEvIJaoDPG+kZvJ/3STJKDQV33xalxTr/t7jVC6hDECq/B/Q+GATb wq0eyEZs0svGx785w16h6423paMLoOC8j6rvQ2QyQaEbaXoz79r+16Fwk3lzyO6X+S7P K5IMsur2tGHC9ypBOjxnKdLx06qXExcKn49ERq503dVapO8F5ochFy7ZzO5U3/KYgiPz sDtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=bfVMB+lfW8z9Y2Q37MtcJXtaUIzPqZ/xHdVmpXz3GyQ=; b=MpsY6W0c55XgK4hFSHe5Xs8RunT/P9+RAZkIWTYldMIjt8ehVUmp4uMJP0Ap9Wa2db HtAzQuCUV4M6VbqzFqC84VVWa+GtZKr5an6OB8BQx5kfbFGEkx7TUvI/sDFIHSVGX71d fEuf+cWnt0PO2mSVrKYIgYBIiFGPFz+XOCzZw2nPVfx9CMca2w1J/F+QG2vWH1MUbv2t uepvG1kXc2Eag0Du7VVmlC2tuKS6tdU1cUwDpfkTLWGLBjhJi4xPrZO3t9vEClglEGI3 sQ1SO0B1MCrhN1ZjgWwwrbeBycbuelmEyNg0VffX221Bc9Ve3Gu9huMSDusEvXy+e+Qz YNXQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=iRx8Xhyd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c13si4640294ede.115.2021.03.25.10.54.40; Thu, 25 Mar 2021 10:55:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=iRx8Xhyd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230177AbhCYRxX (ORCPT + 99 others); Thu, 25 Mar 2021 13:53:23 -0400 Received: from mail.kernel.org ([198.145.29.99]:50568 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230192AbhCYRw7 (ORCPT ); Thu, 25 Mar 2021 13:52:59 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 8CD2F61A2A; Thu, 25 Mar 2021 17:52:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1616694778; bh=wF/UjcjzYjEZwWpbgJNBiCEkSF4RLsS+xeqBb+shTr8=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=iRx8Xhydq3vUIyLkUiEMmHKeZXKc3nJOEKA/iyJNhfl4/uI0a2VlLCwnXzOQlwF/9 r9TNw3ia1lmHyeoMCiAV5xcQUXu+BLLk6kOzb9SJ0jj1jEcWKhpU8x+eY0hO0Vr4nt 5+/N5bIq83Toq6eLYvnc6+ET4SiZzPa6Fq5xOtxLzy7elGoUiKNTLxRvkpHQD+dRa/ 7V7Y6cvkO4dQTVQRHIZlPPXM5HnhL04xNV4+wSXl0p1mQQWHFjRu94EjBI9ZLRvkoQ 6joJd6x6QrAm6BQDNBr7JRKOqI0IHq4CgXlP+N0N+2ShJxVWbYGCClr6lEfSOHe6Ls DRu4OIDdxYIpg== Date: Thu, 25 Mar 2021 18:52:54 +0100 From: Mauro Carvalho Chehab To: Rob Herring Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Frank Rowand , Lee Jones , Jonathan Corbet , linux-doc@vger.kernel.org Subject: Re: [PATCH 7/8] of: Add missing 'Return' section in kerneldoc comments Message-ID: <20210325185254.2e0fbd4a@coco.lan> In-Reply-To: <20210325164713.1296407-8-robh@kernel.org> References: <20210325164713.1296407-1-robh@kernel.org> <20210325164713.1296407-8-robh@kernel.org> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Thu, 25 Mar 2021 10:47:12 -0600 Rob Herring escreveu: > 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 > Cc: Mauro Carvalho Chehab Reviewed-by: Mauro Carvalho Chehab > Signed-off-by: Rob Herring > --- > drivers/of/base.c | 39 +++++++++++++------------ > drivers/of/dynamic.c | 19 ++++++++----- > drivers/of/fdt.c | 8 +++--- > drivers/of/irq.c | 14 ++++----- > drivers/of/overlay.c | 16 +++++------ > drivers/of/platform.c | 10 +++---- > drivers/of/property.c | 66 +++++++++++++++++++++++++++---------------- > include/linux/of.h | 63 ++++++++++++++++++++++++++--------------- > 8 files changed, 140 insertions(+), 95 deletions(-) > > diff --git a/drivers/of/base.c b/drivers/of/base.c > index b06bcb3f001a..3bf189d394bd 100644 > --- a/drivers/of/base.c > +++ b/drivers/of/base.c > @@ -244,7 +244,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) > @@ -374,7 +374,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) > @@ -394,8 +394,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) > { > @@ -427,7 +427,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, > @@ -561,7 +561,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) > @@ -583,7 +583,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) > @@ -611,7 +611,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) > @@ -632,7 +632,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. > * > @@ -816,7 +816,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, > @@ -1170,7 +1170,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) > { > @@ -1190,7 +1190,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) > @@ -1426,7 +1426,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, > @@ -1725,7 +1725,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 > @@ -2025,7 +2025,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) > { > @@ -2134,8 +2136,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) > { > @@ -2186,7 +2189,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) > diff --git a/drivers/of/dynamic.c b/drivers/of/dynamic.c > index 1d7a22e44d78..cd3821a6444f 100644 > --- a/drivers/of/dynamic.c > +++ b/drivers/of/dynamic.c > @@ -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) > @@ -374,7 +375,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) > { > @@ -417,7 +419,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) > @@ -783,7 +785,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) > @@ -877,7 +880,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) > { > @@ -905,7 +909,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) > diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c > index ba53da9c3895..134c7fb43a14 100644 > --- a/drivers/of/fdt.c > +++ b/drivers/of/fdt.c > @@ -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, > @@ -716,7 +716,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, > diff --git a/drivers/of/irq.c b/drivers/of/irq.c > index 25d17b8a1a1a..352e14b007e7 100644 > --- a/drivers/of/irq.c > +++ b/drivers/of/irq.c > @@ -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) > { > diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c > index c25679f7bd3f..d241273170fd 100644 > --- a/drivers/of/overlay.c > +++ b/drivers/of/overlay.c > @@ -298,7 +298,7 @@ static struct property *dup_and_fixup_symbol_prop( > * > * 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, > @@ -403,7 +403,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, > @@ -475,7 +475,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, > @@ -606,7 +606,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) > { > @@ -630,7 +630,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) > @@ -726,7 +726,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, > @@ -1181,7 +1181,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) > @@ -1259,7 +1259,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) > { > diff --git a/drivers/of/platform.c b/drivers/of/platform.c > index 0ed46d301431..25d448f5af91 100644 > --- a/drivers/of/platform.c > +++ b/drivers/of/platform.c > @@ -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 @@ static struct platform_device *of_platform_device_create_pdata( > * @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, > @@ -607,7 +607,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) > { > diff --git a/drivers/of/property.c b/drivers/of/property.c > index c000ed01db01..2046ae311322 100644 > --- a/drivers/of/property.c > +++ b/drivers/of/property.c > @@ -61,9 +61,11 @@ EXPORT_SYMBOL(of_graph_is_present); > * @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) > @@ -95,8 +97,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. > * > */ > @@ -129,7 +132,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. > * > @@ -161,7 +166,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. > * > @@ -196,12 +203,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. > */ > @@ -244,12 +253,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. > */ > @@ -292,7 +303,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. > * > @@ -331,7 +344,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. > * > @@ -366,7 +381,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. > * > @@ -408,10 +425,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. > */ > @@ -775,7 +793,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) > { > @@ -808,7 +826,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) > diff --git a/include/linux/of.h b/include/linux/of.h > index e9209ef44cc0..ef6b161d1f91 100644 > --- a/include/linux/of.h > +++ b/include/linux/of.h > @@ -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. > * > @@ -1070,7 +1078,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. > */ > @@ -1087,7 +1097,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. > */ > @@ -1104,7 +1116,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. > */ > @@ -1121,7 +1135,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. > */ > @@ -1142,7 +1158,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, > @@ -1158,10 +1174,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) > @@ -1181,7 +1198,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. > * > @@ -1201,7 +1219,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) > @@ -1447,7 +1466,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) > { Thanks, Mauro