gpiolib: Get rid of redundant 'else'
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 30 Mar 2022 15:06:20 +0000 (18:06 +0300)
committerBartosz Golaszewski <brgl@bgdev.pl>
Tue, 5 Apr 2022 12:20:07 +0000 (14:20 +0200)
In the snippets like the following

if (...)
return / goto / break / continue ...;
else
...

the 'else' is redundant. Get rid of it. In case of IOCTLs use
switch-case pattern that seems the usual in such cases.

While at it, clarify necessity of else in gpiod_direction_output()
by attaching else if to the closing curly brace on a previous line.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
drivers/gpio/gpiolib-cdev.c
drivers/gpio/gpiolib.c

index ffa0256..c2900b1 100644 (file)
@@ -197,16 +197,15 @@ static long linehandle_ioctl(struct file *file, unsigned int cmd,
        void __user *ip = (void __user *)arg;
        struct gpiohandle_data ghd;
        DECLARE_BITMAP(vals, GPIOHANDLES_MAX);
-       int i;
+       unsigned int i;
+       int ret;
 
-       if (cmd == GPIOHANDLE_GET_LINE_VALUES_IOCTL) {
-               /* NOTE: It's ok to read values of output lines. */
-               int ret = gpiod_get_array_value_complex(false,
-                                                       true,
-                                                       lh->num_descs,
-                                                       lh->descs,
-                                                       NULL,
-                                                       vals);
+       switch (cmd) {
+       case GPIOHANDLE_GET_LINE_VALUES_IOCTL:
+               /* NOTE: It's okay to read values of output lines */
+               ret = gpiod_get_array_value_complex(false, true,
+                                                   lh->num_descs, lh->descs,
+                                                   NULL, vals);
                if (ret)
                        return ret;
 
@@ -218,7 +217,7 @@ static long linehandle_ioctl(struct file *file, unsigned int cmd,
                        return -EFAULT;
 
                return 0;
-       } else if (cmd == GPIOHANDLE_SET_LINE_VALUES_IOCTL) {
+       case GPIOHANDLE_SET_LINE_VALUES_IOCTL:
                /*
                 * All line descriptors were created at once with the same
                 * flags so just check if the first one is really output.
@@ -240,10 +239,11 @@ static long linehandle_ioctl(struct file *file, unsigned int cmd,
                                                     lh->descs,
                                                     NULL,
                                                     vals);
-       } else if (cmd == GPIOHANDLE_SET_CONFIG_IOCTL) {
+       case GPIOHANDLE_SET_CONFIG_IOCTL:
                return linehandle_set_config(lh, ip);
+       default:
+               return -EINVAL;
        }
-       return -EINVAL;
 }
 
 #ifdef CONFIG_COMPAT
@@ -1188,14 +1188,16 @@ static long linereq_ioctl(struct file *file, unsigned int cmd,
        struct linereq *lr = file->private_data;
        void __user *ip = (void __user *)arg;
 
-       if (cmd == GPIO_V2_LINE_GET_VALUES_IOCTL)
+       switch (cmd) {
+       case GPIO_V2_LINE_GET_VALUES_IOCTL:
                return linereq_get_values(lr, ip);
-       else if (cmd == GPIO_V2_LINE_SET_VALUES_IOCTL)
+       case GPIO_V2_LINE_SET_VALUES_IOCTL:
                return linereq_set_values(lr, ip);
-       else if (cmd == GPIO_V2_LINE_SET_CONFIG_IOCTL)
+       case GPIO_V2_LINE_SET_CONFIG_IOCTL:
                return linereq_set_config(lr, ip);
-
-       return -EINVAL;
+       default:
+               return -EINVAL;
+       }
 }
 
 #ifdef CONFIG_COMPAT
@@ -2113,28 +2115,30 @@ static long gpio_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                return -ENODEV;
 
        /* Fill in the struct and pass to userspace */
-       if (cmd == GPIO_GET_CHIPINFO_IOCTL) {
+       switch (cmd) {
+       case GPIO_GET_CHIPINFO_IOCTL:
                return chipinfo_get(cdev, ip);
 #ifdef CONFIG_GPIO_CDEV_V1
-       } else if (cmd == GPIO_GET_LINEHANDLE_IOCTL) {
+       case GPIO_GET_LINEHANDLE_IOCTL:
                return linehandle_create(gdev, ip);
-       } else if (cmd == GPIO_GET_LINEEVENT_IOCTL) {
+       case GPIO_GET_LINEEVENT_IOCTL:
                return lineevent_create(gdev, ip);
-       } else if (cmd == GPIO_GET_LINEINFO_IOCTL ||
-                  cmd == GPIO_GET_LINEINFO_WATCH_IOCTL) {
-               return lineinfo_get_v1(cdev, ip,
-                                      cmd == GPIO_GET_LINEINFO_WATCH_IOCTL);
+       case GPIO_GET_LINEINFO_IOCTL:
+               return lineinfo_get_v1(cdev, ip, false);
+       case GPIO_GET_LINEINFO_WATCH_IOCTL:
+               return lineinfo_get_v1(cdev, ip, true);
 #endif /* CONFIG_GPIO_CDEV_V1 */
-       } else if (cmd == GPIO_V2_GET_LINEINFO_IOCTL ||
-                  cmd == GPIO_V2_GET_LINEINFO_WATCH_IOCTL) {
-               return lineinfo_get(cdev, ip,
-                                   cmd == GPIO_V2_GET_LINEINFO_WATCH_IOCTL);
-       } else if (cmd == GPIO_V2_GET_LINE_IOCTL) {
+       case GPIO_V2_GET_LINEINFO_IOCTL:
+               return lineinfo_get(cdev, ip, false);
+       case GPIO_V2_GET_LINEINFO_WATCH_IOCTL:
+               return lineinfo_get(cdev, ip, true);
+       case GPIO_V2_GET_LINE_IOCTL:
                return linereq_create(gdev, ip);
-       } else if (cmd == GPIO_GET_LINEINFO_UNWATCH_IOCTL) {
+       case GPIO_GET_LINEINFO_UNWATCH_IOCTL:
                return lineinfo_unwatch(cdev, ip);
+       default:
+               return -EINVAL;
        }
-       return -EINVAL;
 }
 
 #ifdef CONFIG_COMPAT
index e59884c..3ffe7b6 100644 (file)
@@ -189,9 +189,8 @@ static int gpiochip_find_base(int ngpio)
                /* found a free space? */
                if (gdev->base + gdev->ngpio <= base)
                        break;
-               else
-                       /* nope, check the space right before the chip */
-                       base = gdev->base - ngpio;
+               /* nope, check the space right before the chip */
+               base = gdev->base - ngpio;
        }
 
        if (gpio_is_valid(base)) {
@@ -2401,8 +2400,7 @@ int gpiod_direction_output(struct gpio_desc *desc, int value)
                        ret = gpiod_direction_input(desc);
                        goto set_output_flag;
                }
-       }
-       else if (test_bit(FLAG_OPEN_SOURCE, &desc->flags)) {
+       } else if (test_bit(FLAG_OPEN_SOURCE, &desc->flags)) {
                ret = gpio_set_config(desc, PIN_CONFIG_DRIVE_OPEN_SOURCE);
                if (!ret)
                        goto set_output_value;
@@ -2559,9 +2557,9 @@ static int gpiod_get_raw_value_commit(const struct gpio_desc *desc)
 static int gpio_chip_get_multiple(struct gpio_chip *gc,
                                  unsigned long *mask, unsigned long *bits)
 {
-       if (gc->get_multiple) {
+       if (gc->get_multiple)
                return gc->get_multiple(gc, mask, bits);
-       } else if (gc->get) {
+       if (gc->get) {
                int i, value;
 
                for_each_set_bit(i, mask, gc->ngpio) {