diff options
author | Matthew Campbell <mcampbell@izotope.com> | 2015-11-24 09:05:38 -0500 |
---|---|---|
committer | Andreas Fritiofson <andreas.fritiofson@gmail.com> | 2015-12-29 20:37:14 +0000 |
commit | 37252b231336a8178d29d7e0d383d08a630bfb15 (patch) | |
tree | df43d3eab7f71655700ec116f5e56158dfdbad2f /src/jtag | |
parent | 464f7005bb1a566f1b10cd422e36cde3aae79179 (diff) |
sysfsgpio: support broken gpio implementations
Change tests when reading from 'value' in sysfs from =='0' to !='1'.
This guards against broken sysfs GPIO implementations that return
non-zero for high rather than just '1' while still being clean and
correct code. Note that sysfs will never output a leading zero even
in a very broken implementation as that is covered in gpiolib.c, not
the offending driver.
Tested against broken Freescale kernel 3.14.38 on i.MX6SL.
Change-Id: Id05567bb8504b1babef33d6ee5172bceefeca8b8
Signed-off-by: Matthew Campbell <mcampbell@izotope.com>
Reviewed-on: http://openocd.zylin.com/3121
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Diffstat (limited to 'src/jtag')
-rw-r--r-- | src/jtag/drivers/sysfsgpio.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/jtag/drivers/sysfsgpio.c b/src/jtag/drivers/sysfsgpio.c index e6018145..fd613c2d 100644 --- a/src/jtag/drivers/sysfsgpio.c +++ b/src/jtag/drivers/sysfsgpio.c @@ -210,7 +210,7 @@ static int sysfsgpio_swdio_read(void) return 0; } - return buf[0] == '1'; + return buf[0] != '0'; } static void sysfsgpio_swdio_write(int swclk, int swdio) @@ -259,7 +259,7 @@ static int sysfsgpio_read(void) return 0; } - return buf[0] == '1'; + return buf[0] != '0'; } /* |