From 1fa968b2702912252f9fb51c93325c7adc9edd1c 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 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gpio/gpio.c b/gpio/gpio.c index 75c7137..ea41326 100644 --- a/gpio/gpio.c +++ b/gpio/gpio.c @@ -477,6 +477,8 @@ 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 6d551bcaa62eece9439e42bb49eaa988007d10bb 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 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gpio/gpio.c b/gpio/gpio.c index ea41326..367e110 100644 --- a/gpio/gpio.c +++ b/gpio/gpio.c @@ -457,13 +457,18 @@ void doExport (int argc, char *argv []) exit (1) ; } + /**/ if ((strcasecmp (mode, "in") == 0) || (strcasecmp (mode, "input") == 0)) fprintf (fd, "in\n") ; 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) ; }