mirror of https://gitee.com/openkylin/linux.git
gpiolib: Unify expectations about ->request() returned value
Half of the code in the GPIO library is written in an expectation that any non-zero value returned from the ->request() callback is an error code, while some code checks only for negative values. Unify expectations about ->request() returned value to be non-zero for an error and 0 for the success. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
This commit is contained in:
parent
40941954f6
commit
8bbff39c6c
|
@ -476,7 +476,7 @@ static ssize_t export_store(struct class *class,
|
|||
*/
|
||||
|
||||
status = gpiod_request(desc, "sysfs");
|
||||
if (status < 0) {
|
||||
if (status) {
|
||||
if (status == -EPROBE_DEFER)
|
||||
status = -ENODEV;
|
||||
goto done;
|
||||
|
|
|
@ -1985,7 +1985,7 @@ static int gpiod_request_commit(struct gpio_desc *desc, const char *label)
|
|||
ret = -EINVAL;
|
||||
spin_lock_irqsave(&gpio_lock, flags);
|
||||
|
||||
if (ret < 0) {
|
||||
if (ret) {
|
||||
desc_set_label(desc, NULL);
|
||||
kfree_const(label);
|
||||
clear_bit(FLAG_REQUESTED, &desc->flags);
|
||||
|
@ -2051,7 +2051,7 @@ int gpiod_request(struct gpio_desc *desc, const char *label)
|
|||
|
||||
if (try_module_get(gdev->owner)) {
|
||||
ret = gpiod_request_commit(desc, label);
|
||||
if (ret < 0)
|
||||
if (ret)
|
||||
module_put(gdev->owner);
|
||||
else
|
||||
get_device(&gdev->dev);
|
||||
|
@ -3958,7 +3958,7 @@ struct gpio_desc *__must_check gpiod_get_index(struct device *dev,
|
|||
* the device name as label
|
||||
*/
|
||||
ret = gpiod_request(desc, con_id ? con_id : devname);
|
||||
if (ret < 0) {
|
||||
if (ret) {
|
||||
if (ret == -EBUSY && flags & GPIOD_FLAGS_BIT_NONEXCLUSIVE) {
|
||||
/*
|
||||
* This happens when there are several consumers for
|
||||
|
|
Loading…
Reference in New Issue