From: Bartosz Golaszewski Date: Thu, 29 Jun 2017 15:10:57 +0000 (+0200) Subject: chip: release lines in bulk on close() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=bdf429543ace6765407fe9a6350a547482e55369;p=qemu-gpiodev%2Flibgpiod.git chip: release lines in bulk on close() When closing the chip use a bulk operation to release all lines. Signed-off-by: Bartosz Golaszewski --- diff --git a/src/lib/chip.c b/src/lib/chip.c index 74d8b7b..58d02c2 100644 --- a/src/lib/chip.c +++ b/src/lib/chip.c @@ -149,10 +149,13 @@ struct gpiod_chip * gpiod_chip_open_lookup(const char *descr) void gpiod_chip_close(struct gpiod_chip *chip) { + struct gpiod_line_bulk bulk; unsigned int i; + gpiod_line_bulk_init(&bulk); for (i = 0; i < chip->cinfo.lines; i++) - gpiod_line_release(line_array_member(chip->lines, i)); + gpiod_line_bulk_add(&bulk, line_array_member(chip->lines, i)); + gpiod_line_release_bulk(&bulk); close(chip->fd); line_array_free(chip->lines);