[libgpiod][PATCH v2 1/2] gpioset: reword note on post-exit behaviour

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The note regarding the state of a line after gpioset exits is
confusing and unhelpful to the average reader, if not outright
incorrect.
A common mis-interpretation is that this behaviour is arbitrarily
chosen by spiteful implementors. The note also specifies that the line
reverts to default, but that is not always the case, or is at least
out of the control of gpioset or libgpiod.

Reword the note to constrain the scope to that relevant to the
likely reader, and to emphasize that the behaviour is inherent
in the kernel GPIO interface, not in the gpioset implementation.

Signed-off-by: Kent Gibson <warthog618@xxxxxxxxx>
---
 tools/gpioset.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/tools/gpioset.c b/tools/gpioset.c
index 9dc5aeb..f2f9a15 100644
--- a/tools/gpioset.c
+++ b/tools/gpioset.c
@@ -76,11 +76,10 @@ static void print_help(void)
 	print_period_help();
 	printf("\n");
 	printf("*Note*\n");
-	printf("    The state of a GPIO line controlled over the character device reverts to default\n");
-	printf("    when the last process referencing the file descriptor representing the device file exits.\n");
-	printf("    This means that it's wrong to run gpioset, have it exit and expect the line to continue\n");
-	printf("    being driven high or low. It may happen if given pin is floating but it must be interpreted\n");
-	printf("    as undefined behavior.\n");
+	printf("    It should not be assumed that a line will retain its state after gpioset exits.\n");
+	printf("    When a process exits, any GPIO lines it has requested are automatically released.\n");
+	printf("    Once released, the state of a line may be modified by the kernel or another process.\n");
+	printf("    To guarantee the requested value, by default gpioset does not exit.\n");
 }
 
 static int parse_drive_or_die(const char *option)
-- 
2.39.2





[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux