aboutsummaryrefslogtreecommitdiff
path: root/src/jtag
diff options
context:
space:
mode:
authorMatthew Campbell <mcampbell@izotope.com>2015-11-24 09:05:38 -0500
committerAndreas Fritiofson <andreas.fritiofson@gmail.com>2015-12-29 20:37:14 +0000
commit37252b231336a8178d29d7e0d383d08a630bfb15 (patch)
treedf43d3eab7f71655700ec116f5e56158dfdbad2f /src/jtag
parent464f7005bb1a566f1b10cd422e36cde3aae79179 (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.c4
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';
}
/*