From 0484d90e056251fab73d10ee0daa3668660a6be3 Mon Sep 17 00:00:00 2001 From: Bartosz Golaszewski Date: Fri, 6 Jan 2017 17:28:47 +0100 Subject: [PATCH] core: move gpiod_line_find_by_name() Move this routine to where other line-related functions live. Signed-off-by: Bartosz Golaszewski --- core.c | 56 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/core.c b/core.c index 50f04e8..020b1fd 100644 --- 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; -} -- 2.30.2