gpiolib: cdev: simplify linereq_free
authorKent Gibson <warthog618@gmail.com>
Thu, 14 Jul 2022 02:03:14 +0000 (10:03 +0800)
committerBartosz Golaszewski <brgl@bgdev.pl>
Tue, 19 Jul 2022 08:01:22 +0000 (10:01 +0200)
The edge detector is only ever started after the line desc has been
determined, so move edge_detector_stop() inside the line desc check,
and merge the two checked regions into one.

Signed-off-by: Kent Gibson <warthog618@gmail.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Acked-by: Dipen Patel <dipenp@nvidia.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
drivers/gpio/gpiolib-cdev.c

index 0c9a63b..b44526e 100644 (file)
@@ -1460,15 +1460,15 @@ static ssize_t linereq_read(struct file *file,
 static void linereq_free(struct linereq *lr)
 {
        unsigned int i;
-       bool hte = false;
+       bool hte;
 
        for (i = 0; i < lr->num_lines; i++) {
-               if (lr->lines[i].desc)
+               if (lr->lines[i].desc) {
                        hte = !!test_bit(FLAG_EVENT_CLOCK_HTE,
                                         &lr->lines[i].desc->flags);
-               edge_detector_stop(&lr->lines[i], hte);
-               if (lr->lines[i].desc)
+                       edge_detector_stop(&lr->lines[i], hte);
                        gpiod_free(lr->lines[i].desc);
+               }
        }
        kfifo_free(&lr->events);
        kfree(lr->label);