core: move gpiod_line_find_by_name()
authorBartosz Golaszewski <bartekgola@gmail.com>
Fri, 6 Jan 2017 16:28:47 +0000 (17:28 +0100)
committerBartosz Golaszewski <bartekgola@gmail.com>
Fri, 6 Jan 2017 16:28:47 +0000 (17:28 +0100)
Move this routine to where other line-related functions live.

Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
core.c

diff --git a/core.c b/core.c
index 50f04e8b96891bb7b369c431833f86bf8ae958c0..020b1fd6428a7d890bf162c07019febbea3c6e73 100644 (file)
--- a/core.c
+++ b/core.c
@@ -449,6 +449,34 @@ int gpiod_line_set_value_bulk(struct gpiod_line_bulk *line_bulk, int *values)
        return 0;
 }
 
+struct gpiod_line * gpiod_line_find_by_name(const char *name)
+{
+       struct gpiod_chip_iter *chip_iter;
+       struct gpiod_line_iter line_iter;
+       struct gpiod_chip *chip;
+       struct gpiod_line *line;
+
+       chip_iter = gpiod_chip_iter_new();
+       if (!chip_iter)
+               return NULL;
+
+       gpiod_foreach_chip(chip_iter, chip) {
+               gpiod_line_iter_init(&line_iter, chip);
+               gpiod_foreach_line(&line_iter, line) {
+                       if (strcmp(gpiod_line_name(line), name) == 0) {
+                               /* TODO A separate function for that maybe? */
+                               closedir(chip_iter->dir);
+                               free(chip_iter);
+                               return line;
+                       }
+               }
+       }
+
+       gpiod_chip_iter_free(chip_iter);
+
+       return NULL;
+}
+
 int gpiod_line_event_request(struct gpiod_line *line,
                             struct gpiod_line_evreq_config *config)
 {
@@ -772,31 +800,3 @@ struct gpiod_chip * gpiod_chip_iter_next(struct gpiod_chip_iter *iter)
 
        return NULL;
 }
-
-struct gpiod_line * gpiod_line_find_by_name(const char *name)
-{
-       struct gpiod_chip_iter *chip_iter;
-       struct gpiod_line_iter line_iter;
-       struct gpiod_chip *chip;
-       struct gpiod_line *line;
-
-       chip_iter = gpiod_chip_iter_new();
-       if (!chip_iter)
-               return NULL;
-
-       gpiod_foreach_chip(chip_iter, chip) {
-               gpiod_line_iter_init(&line_iter, chip);
-               gpiod_foreach_line(&line_iter, line) {
-                       if (strcmp(gpiod_line_name(line), name) == 0) {
-                               /* TODO A separate function for that maybe? */
-                               closedir(chip_iter->dir);
-                               free(chip_iter);
-                               return line;
-                       }
-               }
-       }
-
-       gpiod_chip_iter_free(chip_iter);
-
-       return NULL;
-}