Commit 94bd9ce1 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Bartosz Golaszewski

gpiolib: Update the kernel documentation - add Return sections

$ scripts/kernel-doc -v -none -Wall drivers/gpio/gpiolib* 2>&1 | grep -w warning | wc -l
67

Fix these by adding Return sections. While at it, make sure all of
Return sections use the same style.
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: default avatarRandy Dunlap <rdunlap@infradead.org>
Tested-by: default avatarRandy Dunlap <rdunlap@infradead.org>
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20240828164449.2777666-1-andriy.shevchenko@linux.intel.comSigned-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
parent 1e3d42f5
...@@ -153,8 +153,12 @@ static int acpi_gpiochip_find(struct gpio_chip *gc, const void *data) ...@@ -153,8 +153,12 @@ static int acpi_gpiochip_find(struct gpio_chip *gc, const void *data)
* @path: ACPI GPIO controller full path name, (e.g. "\\_SB.GPO1") * @path: ACPI GPIO controller full path name, (e.g. "\\_SB.GPO1")
* @pin: ACPI GPIO pin number (0-based, controller-relative) * @pin: ACPI GPIO pin number (0-based, controller-relative)
* *
* Return: GPIO descriptor to use with Linux generic GPIO API, or ERR_PTR * Returns:
* error value. Specifically returns %-EPROBE_DEFER if the referenced GPIO * GPIO descriptor to use with Linux generic GPIO API.
* If the GPIO cannot be translated or there is an error an ERR_PTR is
* returned.
*
* Specifically returns %-EPROBE_DEFER if the referenced GPIO
* controller does not have GPIO chip registered at the moment. This is to * controller does not have GPIO chip registered at the moment. This is to
* support probe deferral. * support probe deferral.
*/ */
...@@ -224,6 +228,9 @@ EXPORT_SYMBOL_GPL(acpi_gpio_get_irq_resource); ...@@ -224,6 +228,9 @@ EXPORT_SYMBOL_GPL(acpi_gpio_get_irq_resource);
* I/O resource or return False if not. * I/O resource or return False if not.
* @ares: Pointer to the ACPI resource to fetch * @ares: Pointer to the ACPI resource to fetch
* @agpio: Pointer to a &struct acpi_resource_gpio to store the output pointer * @agpio: Pointer to a &struct acpi_resource_gpio to store the output pointer
*
* Returns:
* %true if GpioIo resource is found, %false otherwise.
*/ */
bool acpi_gpio_get_io_resource(struct acpi_resource *ares, bool acpi_gpio_get_io_resource(struct acpi_resource *ares,
struct acpi_resource_gpio **agpio) struct acpi_resource_gpio **agpio)
...@@ -876,7 +883,9 @@ static int acpi_gpio_property_lookup(struct fwnode_handle *fwnode, ...@@ -876,7 +883,9 @@ static int acpi_gpio_property_lookup(struct fwnode_handle *fwnode,
* that case @index is used to select the GPIO entry in the property value * that case @index is used to select the GPIO entry in the property value
* (in case of multiple). * (in case of multiple).
* *
* If the GPIO cannot be translated or there is an error, an ERR_PTR is * Returns:
* GPIO descriptor to use with Linux generic GPIO API.
* If the GPIO cannot be translated or there is an error an ERR_PTR is
* returned. * returned.
* *
* Note: if the GPIO resource has multiple entries in the pin list, this * Note: if the GPIO resource has multiple entries in the pin list, this
...@@ -924,6 +933,8 @@ static struct gpio_desc *acpi_get_gpiod_by_index(struct acpi_device *adev, ...@@ -924,6 +933,8 @@ static struct gpio_desc *acpi_get_gpiod_by_index(struct acpi_device *adev,
* resource with the relevant information from a data-only ACPI firmware node * resource with the relevant information from a data-only ACPI firmware node
* and uses that to obtain the GPIO descriptor to return. * and uses that to obtain the GPIO descriptor to return.
* *
* Returns:
* GPIO descriptor to use with Linux generic GPIO API.
* If the GPIO cannot be translated or there is an error an ERR_PTR is * If the GPIO cannot be translated or there is an error an ERR_PTR is
* returned. * returned.
*/ */
...@@ -1042,7 +1053,8 @@ struct gpio_desc *acpi_find_gpio(struct fwnode_handle *fwnode, ...@@ -1042,7 +1053,8 @@ struct gpio_desc *acpi_find_gpio(struct fwnode_handle *fwnode,
* The GPIO is considered wake capable if the GpioInt resource specifies * The GPIO is considered wake capable if the GpioInt resource specifies
* SharedAndWake or ExclusiveAndWake. * SharedAndWake or ExclusiveAndWake.
* *
* Return: Linux IRQ number (> %0) on success, negative errno on failure. * Returns:
* Linux IRQ number (> 0) on success, negative errno on failure.
*/ */
int acpi_dev_gpio_irq_wake_get_by(struct acpi_device *adev, const char *con_id, int index, int acpi_dev_gpio_irq_wake_get_by(struct acpi_device *adev, const char *con_id, int index,
bool *wake_capable) bool *wake_capable)
...@@ -1429,7 +1441,7 @@ static int acpi_find_gpio_count(struct acpi_resource *ares, void *data) ...@@ -1429,7 +1441,7 @@ static int acpi_find_gpio_count(struct acpi_resource *ares, void *data)
* @fwnode: firmware node of the GPIO consumer * @fwnode: firmware node of the GPIO consumer
* @con_id: function within the GPIO consumer * @con_id: function within the GPIO consumer
* *
* Return: * Returns:
* The number of GPIOs associated with a firmware node / function or %-ENOENT, * The number of GPIOs associated with a firmware node / function or %-ENOENT,
* if no GPIO has been assigned to the requested function. * if no GPIO has been assigned to the requested function.
*/ */
......
...@@ -2748,7 +2748,9 @@ static ssize_t lineinfo_watch_read(struct file *file, char __user *buf, ...@@ -2748,7 +2748,9 @@ static ssize_t lineinfo_watch_read(struct file *file, char __user *buf,
* gpio_chrdev_open() - open the chardev for ioctl operations * gpio_chrdev_open() - open the chardev for ioctl operations
* @inode: inode for this chardev * @inode: inode for this chardev
* @file: file struct for storing private data * @file: file struct for storing private data
* Returns 0 on success *
* Returns:
* 0 on success, or negative errno on failure.
*/ */
static int gpio_chrdev_open(struct inode *inode, struct file *file) static int gpio_chrdev_open(struct inode *inode, struct file *file)
{ {
...@@ -2814,7 +2816,9 @@ static int gpio_chrdev_open(struct inode *inode, struct file *file) ...@@ -2814,7 +2816,9 @@ static int gpio_chrdev_open(struct inode *inode, struct file *file)
* gpio_chrdev_release() - close chardev after ioctl operations * gpio_chrdev_release() - close chardev after ioctl operations
* @inode: inode for this chardev * @inode: inode for this chardev
* @file: file struct for storing private data * @file: file struct for storing private data
* Returns 0 on success *
* Returns:
* 0 on success, or negative errno on failure.
*/ */
static int gpio_chrdev_release(struct inode *inode, struct file *file) static int gpio_chrdev_release(struct inode *inode, struct file *file)
{ {
......
...@@ -52,6 +52,11 @@ static int devm_gpiod_match_array(struct device *dev, void *res, void *data) ...@@ -52,6 +52,11 @@ static int devm_gpiod_match_array(struct device *dev, void *res, void *data)
* Managed gpiod_get(). GPIO descriptors returned from this function are * Managed gpiod_get(). GPIO descriptors returned from this function are
* automatically disposed on driver detach. See gpiod_get() for detailed * automatically disposed on driver detach. See gpiod_get() for detailed
* information about behavior and return values. * information about behavior and return values.
*
* Returns:
* The GPIO descriptor corresponding to the function @con_id of device
* dev, %-ENOENT if no GPIO has been assigned to the requested function, or
* another IS_ERR() code if an error occurred while trying to acquire the GPIO.
*/ */
struct gpio_desc *__must_check devm_gpiod_get(struct device *dev, struct gpio_desc *__must_check devm_gpiod_get(struct device *dev,
const char *con_id, const char *con_id,
...@@ -70,6 +75,11 @@ EXPORT_SYMBOL_GPL(devm_gpiod_get); ...@@ -70,6 +75,11 @@ EXPORT_SYMBOL_GPL(devm_gpiod_get);
* Managed gpiod_get_optional(). GPIO descriptors returned from this function * Managed gpiod_get_optional(). GPIO descriptors returned from this function
* are automatically disposed on driver detach. See gpiod_get_optional() for * are automatically disposed on driver detach. See gpiod_get_optional() for
* detailed information about behavior and return values. * detailed information about behavior and return values.
*
* Returns:
* The GPIO descriptor corresponding to the function @con_id of device
* dev, NULL if no GPIO has been assigned to the requested function, or
* another IS_ERR() code if an error occurred while trying to acquire the GPIO.
*/ */
struct gpio_desc *__must_check devm_gpiod_get_optional(struct device *dev, struct gpio_desc *__must_check devm_gpiod_get_optional(struct device *dev,
const char *con_id, const char *con_id,
...@@ -89,6 +99,11 @@ EXPORT_SYMBOL_GPL(devm_gpiod_get_optional); ...@@ -89,6 +99,11 @@ EXPORT_SYMBOL_GPL(devm_gpiod_get_optional);
* Managed gpiod_get_index(). GPIO descriptors returned from this function are * Managed gpiod_get_index(). GPIO descriptors returned from this function are
* automatically disposed on driver detach. See gpiod_get_index() for detailed * automatically disposed on driver detach. See gpiod_get_index() for detailed
* information about behavior and return values. * information about behavior and return values.
*
* Returns:
* The GPIO descriptor corresponding to the function @con_id of device
* dev, %-ENOENT if no GPIO has been assigned to the requested function, or
* another IS_ERR() code if an error occurred while trying to acquire the GPIO.
*/ */
struct gpio_desc *__must_check devm_gpiod_get_index(struct device *dev, struct gpio_desc *__must_check devm_gpiod_get_index(struct device *dev,
const char *con_id, const char *con_id,
...@@ -141,8 +156,10 @@ EXPORT_SYMBOL_GPL(devm_gpiod_get_index); ...@@ -141,8 +156,10 @@ EXPORT_SYMBOL_GPL(devm_gpiod_get_index);
* GPIO descriptors returned from this function are automatically disposed on * GPIO descriptors returned from this function are automatically disposed on
* driver detach. * driver detach.
* *
* On successful request the GPIO pin is configured in accordance with * Returns:
* provided @flags. * The GPIO descriptor corresponding to the function @con_id of device
* dev, %-ENOENT if no GPIO has been assigned to the requested function, or
* another IS_ERR() code if an error occurred while trying to acquire the GPIO.
*/ */
struct gpio_desc *devm_fwnode_gpiod_get_index(struct device *dev, struct gpio_desc *devm_fwnode_gpiod_get_index(struct device *dev,
struct fwnode_handle *fwnode, struct fwnode_handle *fwnode,
...@@ -182,6 +199,11 @@ EXPORT_SYMBOL_GPL(devm_fwnode_gpiod_get_index); ...@@ -182,6 +199,11 @@ EXPORT_SYMBOL_GPL(devm_fwnode_gpiod_get_index);
* function are automatically disposed on driver detach. See * function are automatically disposed on driver detach. See
* gpiod_get_index_optional() for detailed information about behavior and * gpiod_get_index_optional() for detailed information about behavior and
* return values. * return values.
*
* Returns:
* The GPIO descriptor corresponding to the function @con_id of device
* dev, %NULL if no GPIO has been assigned to the requested function, or
* another IS_ERR() code if an error occurred while trying to acquire the GPIO.
*/ */
struct gpio_desc *__must_check devm_gpiod_get_index_optional(struct device *dev, struct gpio_desc *__must_check devm_gpiod_get_index_optional(struct device *dev,
const char *con_id, const char *con_id,
...@@ -207,6 +229,12 @@ EXPORT_SYMBOL_GPL(devm_gpiod_get_index_optional); ...@@ -207,6 +229,12 @@ EXPORT_SYMBOL_GPL(devm_gpiod_get_index_optional);
* Managed gpiod_get_array(). GPIO descriptors returned from this function are * Managed gpiod_get_array(). GPIO descriptors returned from this function are
* automatically disposed on driver detach. See gpiod_get_array() for detailed * automatically disposed on driver detach. See gpiod_get_array() for detailed
* information about behavior and return values. * information about behavior and return values.
*
* Returns:
* The GPIO descriptors corresponding to the function @con_id of device
* dev, %-ENOENT if no GPIO has been assigned to the requested function,
* or another IS_ERR() code if an error occurred while trying to acquire
* the GPIOs.
*/ */
struct gpio_descs *__must_check devm_gpiod_get_array(struct device *dev, struct gpio_descs *__must_check devm_gpiod_get_array(struct device *dev,
const char *con_id, const char *con_id,
...@@ -243,6 +271,12 @@ EXPORT_SYMBOL_GPL(devm_gpiod_get_array); ...@@ -243,6 +271,12 @@ EXPORT_SYMBOL_GPL(devm_gpiod_get_array);
* function are automatically disposed on driver detach. * function are automatically disposed on driver detach.
* See gpiod_get_array_optional() for detailed information about behavior and * See gpiod_get_array_optional() for detailed information about behavior and
* return values. * return values.
*
* Returns:
* The GPIO descriptors corresponding to the function @con_id of device
* dev, %NULL if no GPIO has been assigned to the requested function,
* or another IS_ERR() code if an error occurred while trying to acquire
* the GPIOs.
*/ */
struct gpio_descs *__must_check struct gpio_descs *__must_check
devm_gpiod_get_array_optional(struct device *dev, const char *con_id, devm_gpiod_get_array_optional(struct device *dev, const char *con_id,
......
...@@ -22,6 +22,9 @@ EXPORT_SYMBOL_GPL(gpio_free); ...@@ -22,6 +22,9 @@ EXPORT_SYMBOL_GPL(gpio_free);
* @label: a literal description string of this GPIO * @label: a literal description string of this GPIO
* *
* **DEPRECATED** This function is deprecated and must not be used in new code. * **DEPRECATED** This function is deprecated and must not be used in new code.
*
* Returns:
* 0 on success, or negative errno on failure.
*/ */
int gpio_request_one(unsigned gpio, unsigned long flags, const char *label) int gpio_request_one(unsigned gpio, unsigned long flags, const char *label)
{ {
......
...@@ -46,16 +46,19 @@ enum of_gpio_flags { ...@@ -46,16 +46,19 @@ enum of_gpio_flags {
* @propname: property name containing gpio specifier(s) * @propname: property name containing gpio specifier(s)
* *
* The function returns the count of GPIOs specified for a node. * The function returns the count of GPIOs specified for a node.
* Note that the empty GPIO specifiers count too. Returns either * NOTE: The empty GPIO specifiers count too.
* Number of gpios defined in property,
* -EINVAL for an incorrectly formed gpios property, or
* -ENOENT for a missing gpios property
* *
* Example: * Returns:
* gpios = <0 * Either number of GPIOs defined in the property, or
* &gpio1 1 2 * * %-EINVAL for an incorrectly formed "gpios" property, or
* 0 * * %-ENOENT for a missing "gpios" property.
* &gpio2 3 4>; *
* Example::
*
* gpios = <0
* &gpio1 1 2
* 0
* &gpio2 3 4>;
* *
* The above example defines four GPIOs, two of which are not specified. * The above example defines four GPIOs, two of which are not specified.
* This function will return '4' * This function will return '4'
...@@ -77,6 +80,11 @@ static int of_gpio_named_count(const struct device_node *np, ...@@ -77,6 +80,11 @@ static int of_gpio_named_count(const struct device_node *np,
* "gpios" for the chip select lines. If we detect this, we redirect * "gpios" for the chip select lines. If we detect this, we redirect
* the counting of "cs-gpios" to count "gpios" transparent to the * the counting of "cs-gpios" to count "gpios" transparent to the
* driver. * driver.
*
* Returns:
* Either number of GPIOs defined in the property, or
* * %-EINVAL for an incorrectly formed "gpios" property, or
* * %-ENOENT for a missing "gpios" property.
*/ */
static int of_gpio_spi_cs_get_count(const struct device_node *np, static int of_gpio_spi_cs_get_count(const struct device_node *np,
const char *con_id) const char *con_id)
...@@ -373,7 +381,8 @@ static void of_gpio_flags_quirks(const struct device_node *np, ...@@ -373,7 +381,8 @@ static void of_gpio_flags_quirks(const struct device_node *np,
* @index: index of the GPIO * @index: index of the GPIO
* @flags: a flags pointer to fill in * @flags: a flags pointer to fill in
* *
* Returns GPIO descriptor to use with Linux GPIO API, or one of the errno * Returns:
* GPIO descriptor to use with Linux GPIO API, or one of the errno
* value on the error condition. If @flags is not NULL the function also fills * value on the error condition. If @flags is not NULL the function also fills
* in flags for the GPIO. * in flags for the GPIO.
*/ */
...@@ -425,7 +434,8 @@ static struct gpio_desc *of_get_named_gpiod_flags(const struct device_node *np, ...@@ -425,7 +434,8 @@ static struct gpio_desc *of_get_named_gpiod_flags(const struct device_node *np,
* *
* **DEPRECATED** This function is deprecated and must not be used in new code. * **DEPRECATED** This function is deprecated and must not be used in new code.
* *
* Returns GPIO number to use with Linux generic GPIO API, or one of the errno * Returns:
* GPIO number to use with Linux generic GPIO API, or one of the errno
* value on the error condition. * value on the error condition.
*/ */
int of_get_named_gpio(const struct device_node *np, const char *propname, int of_get_named_gpio(const struct device_node *np, const char *propname,
...@@ -711,7 +721,8 @@ struct gpio_desc *of_find_gpio(struct device_node *np, const char *con_id, ...@@ -711,7 +721,8 @@ struct gpio_desc *of_find_gpio(struct device_node *np, const char *con_id,
* of_find_gpio() or of_parse_own_gpio() * of_find_gpio() or of_parse_own_gpio()
* @dflags: gpiod_flags - optional GPIO initialization flags * @dflags: gpiod_flags - optional GPIO initialization flags
* *
* Returns GPIO descriptor to use with Linux GPIO API, or one of the errno * Returns:
* GPIO descriptor to use with Linux GPIO API, or one of the errno
* value on the error condition. * value on the error condition.
*/ */
static struct gpio_desc *of_parse_own_gpio(struct device_node *np, static struct gpio_desc *of_parse_own_gpio(struct device_node *np,
...@@ -779,7 +790,8 @@ static struct gpio_desc *of_parse_own_gpio(struct device_node *np, ...@@ -779,7 +790,8 @@ static struct gpio_desc *of_parse_own_gpio(struct device_node *np,
* @chip: gpio chip to act on * @chip: gpio chip to act on
* @hog: device node describing the hogs * @hog: device node describing the hogs
* *
* Returns error if it fails otherwise 0 on success. * Returns:
* 0 on success, or negative errno on failure.
*/ */
static int of_gpiochip_add_hog(struct gpio_chip *chip, struct device_node *hog) static int of_gpiochip_add_hog(struct gpio_chip *chip, struct device_node *hog)
{ {
...@@ -813,7 +825,9 @@ static int of_gpiochip_add_hog(struct gpio_chip *chip, struct device_node *hog) ...@@ -813,7 +825,9 @@ static int of_gpiochip_add_hog(struct gpio_chip *chip, struct device_node *hog)
* *
* This is only used by of_gpiochip_add to request/set GPIO initial * This is only used by of_gpiochip_add to request/set GPIO initial
* configuration. * configuration.
* It returns error if it fails otherwise 0 on success. *
* Returns:
* 0 on success, or negative errno on failure.
*/ */
static int of_gpiochip_scan_gpios(struct gpio_chip *chip) static int of_gpiochip_scan_gpios(struct gpio_chip *chip)
{ {
...@@ -923,6 +937,9 @@ struct notifier_block gpio_of_notifier = { ...@@ -923,6 +937,9 @@ struct notifier_block gpio_of_notifier = {
* This is simple translation function, suitable for the most 1:1 mapped * This is simple translation function, suitable for the most 1:1 mapped
* GPIO chips. This function performs only one sanity check: whether GPIO * GPIO chips. This function performs only one sanity check: whether GPIO
* is less than ngpios (that is specified in the gpio_chip). * is less than ngpios (that is specified in the gpio_chip).
*
* Returns:
* GPIO number (>= 0) on success, negative errno on failure.
*/ */
static int of_gpio_simple_xlate(struct gpio_chip *gc, static int of_gpio_simple_xlate(struct gpio_chip *gc,
const struct of_phandle_args *gpiospec, const struct of_phandle_args *gpiospec,
...@@ -972,6 +989,9 @@ static int of_gpio_simple_xlate(struct gpio_chip *gc, ...@@ -972,6 +989,9 @@ static int of_gpio_simple_xlate(struct gpio_chip *gc,
* If succeeded, this function will map bank's memory and will * If succeeded, this function will map bank's memory and will
* do all necessary work for you. Then you'll able to use .regs * do all necessary work for you. Then you'll able to use .regs
* to manage GPIOs from the callbacks. * to manage GPIOs from the callbacks.
*
* Returns:
* 0 on success, or negative errno on failure.
*/ */
int of_mm_gpiochip_add_data(struct device_node *np, int of_mm_gpiochip_add_data(struct device_node *np,
struct of_mm_gpio_chip *mm_gc, struct of_mm_gpio_chip *mm_gc,
......
...@@ -106,7 +106,7 @@ struct gpio_desc *swnode_find_gpio(struct fwnode_handle *fwnode, ...@@ -106,7 +106,7 @@ struct gpio_desc *swnode_find_gpio(struct fwnode_handle *fwnode,
* system-global GPIOs * system-global GPIOs
* @con_id: function within the GPIO consumer * @con_id: function within the GPIO consumer
* *
* Return: * Returns:
* The number of GPIOs associated with a device / function or %-ENOENT, * The number of GPIOs associated with a device / function or %-ENOENT,
* if no GPIO has been assigned to the requested function. * if no GPIO has been assigned to the requested function.
*/ */
......
...@@ -568,7 +568,8 @@ static struct class gpio_class = { ...@@ -568,7 +568,8 @@ static struct class gpio_class = {
* will see "direction" sysfs attribute which may be used to change * will see "direction" sysfs attribute which may be used to change
* the gpio's direction. A "value" attribute will always be provided. * the gpio's direction. A "value" attribute will always be provided.
* *
* Returns zero on success, else an error. * Returns:
* 0 on success, or negative errno on failure.
*/ */
int gpiod_export(struct gpio_desc *desc, bool direction_may_change) int gpiod_export(struct gpio_desc *desc, bool direction_may_change)
{ {
...@@ -667,7 +668,8 @@ static int match_export(struct device *dev, const void *desc) ...@@ -667,7 +668,8 @@ static int match_export(struct device *dev, const void *desc)
* Set up a symlink from /sys/.../dev/name to /sys/class/gpio/gpioN * Set up a symlink from /sys/.../dev/name to /sys/class/gpio/gpioN
* node. Caller is responsible for unlinking. * node. Caller is responsible for unlinking.
* *
* Returns zero on success, else an error. * Returns:
* 0 on success, or negative errno on failure.
*/ */
int gpiod_export_link(struct device *dev, const char *name, int gpiod_export_link(struct device *dev, const char *name,
struct gpio_desc *desc) struct gpio_desc *desc)
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment