diff options
author | Alexandre Courbot <acourbot@nvidia.com> | 2014-08-18 09:39:01 -0700 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2014-08-29 08:53:53 +0200 |
commit | 1b11a9b9e0a87fe8e3d2483bb42f68c94282b8df (patch) | |
tree | b0608c8d51c0c2967a858a6a5f6582b4240e2a3e /Documentation | |
parent | 52addcf9d6669fa439387610bc65c92fa0980cef (diff) | |
download | op-kernel-dev-1b11a9b9e0a87fe8e3d2483bb42f68c94282b8df.zip op-kernel-dev-1b11a9b9e0a87fe8e3d2483bb42f68c94282b8df.tar.gz |
Documentation: gpio: documentation for optional getters functions
Add a mention about the _optional variants of (devm_)gpiod_get*().
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/gpio/consumer.txt | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/Documentation/gpio/consumer.txt b/Documentation/gpio/consumer.txt index 7654632..6ce5441 100644 --- a/Documentation/gpio/consumer.txt +++ b/Documentation/gpio/consumer.txt @@ -53,7 +53,20 @@ with IS_ERR() (they will never return a NULL pointer). -ENOENT will be returned if and only if no GPIO has been assigned to the device/function/index triplet, other error codes are used for cases where a GPIO has been assigned but an error occurred while trying to acquire it. This is useful to discriminate between mere -errors and an absence of GPIO for optional GPIO parameters. +errors and an absence of GPIO for optional GPIO parameters. For the common +pattern where a GPIO is optional, the gpiod_get_optional() and +gpiod_get_index_optional() functions can be used. These functions return NULL +instead of -ENOENT if no GPIO has been assigned to the requested function: + + + struct gpio_desc *gpiod_get_optional(struct device *dev, + const char *con_id, + enum gpiod_flags flags) + + struct gpio_desc *gpiod_get_index_optional(struct device *dev, + const char *con_id, + unsigned int index, + enum gpiod_flags flags) Device-managed variants of these functions are also defined: @@ -65,6 +78,15 @@ Device-managed variants of these functions are also defined: unsigned int idx, enum gpiod_flags flags) + struct gpio_desc *devm_gpiod_get_optional(struct device *dev, + const char *con_id, + enum gpiod_flags flags) + + struct gpio_desc * devm_gpiod_get_index_optional(struct device *dev, + const char *con_id, + unsigned int index, + enum gpiod_flags flags) + A GPIO descriptor can be disposed of using the gpiod_put() function: void gpiod_put(struct gpio_desc *desc) |