From c9aa39f591e31a7b992d8e06b8649b2fe831944c Mon Sep 17 00:00:00 2001 From: blecher-at Date: Thu, 16 Nov 2017 18:34:56 +0000 Subject: [PATCH 1/2] change owner of active_low as well on export --- gpio/gpio.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gpio/gpio.c b/gpio/gpio.c index 9a4a604..41d4033 100644 --- a/gpio/gpio.c +++ b/gpio/gpio.c @@ -496,7 +496,9 @@ void doExport (int argc, char *argv []) sprintf (fName, "/sys/class/gpio/gpio%d/edge", pin) ; changeOwner (argv [0], fName) ; - + + sprintf (fName, "/sys/class/gpio/gpio%d/active_low", pin) ; + changeOwner (argv [0], fName) ; } From e3b26602b0610344b559f495d164f01a5b13335f Mon Sep 17 00:00:00 2001 From: blecher-at Date: Thu, 16 Nov 2017 20:29:51 +0000 Subject: [PATCH 2/2] make export support high/low modes --- gpio/gpio.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gpio/gpio.c b/gpio/gpio.c index 41d4033..2e8dce7 100644 --- a/gpio/gpio.c +++ b/gpio/gpio.c @@ -477,13 +477,18 @@ void doExport (int argc, char *argv []) exit (1) ; } - /**/ if ((strcasecmp (mode, "in") == 0) || (strcasecmp (mode, "input") == 0)) + + /**/ if ((strcasecmp (mode, "in") == 0) || (strcasecmp (mode, "input") == 0)) fprintf (fd, "in\n") ; - else if ((strcasecmp (mode, "out") == 0) || (strcasecmp (mode, "output") == 0)) + else if ((strcasecmp (mode, "out") == 0) || (strcasecmp (mode, "output") == 0)) fprintf (fd, "out\n") ; + else if ((strcasecmp (mode, "high") == 0) || (strcasecmp (mode, "up") == 0)) + fprintf (fd, "high\n") ; + else if ((strcasecmp (mode, "low") == 0) || (strcasecmp (mode, "down") == 0)) + fprintf (fd, "low\n") ; else { - fprintf (stderr, "%s: Invalid mode: %s. Should be in or out\n", argv [1], mode) ; + fprintf (stderr, "%s: Invalid mode: %s. Should be in, out, high or low\n", argv [1], mode) ; exit (1) ; }