aboutsummaryrefslogtreecommitdiff
path: root/src/jtag
diff options
context:
space:
mode:
authorPaul Fertser <fercerpav@gmail.com>2013-05-03 12:49:07 +0400
committerFreddie Chopin <freddie.chopin@gmail.com>2013-05-08 14:53:36 +0000
commit80a6d617813807814784316870e8c0e8ba3abce3 (patch)
tree51ae4e299f38046c1efb3d0f49b9bd8a0e2fce03 /src/jtag
parent2a864a89c8296d67587b93a58996615e74fe9c31 (diff)
downloadriscv-openocd-80a6d617813807814784316870e8c0e8ba3abce3.zip
riscv-openocd-80a6d617813807814784316870e8c0e8ba3abce3.tar.gz
riscv-openocd-80a6d617813807814784316870e8c0e8ba3abce3.tar.bz2
sysfsgpio: do not try to initialise absent signals
When e.g. SRST is not specified, the current code results in assigning 0 to srst_fd and subsequently a stray '1' is output on screen on reset. Avoid this by not doing bogus initialisation. Change-Id: Iadb847a384a927ae746124cf6e4e3c6cc8b11406 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1375 Tested-by: jenkins Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
Diffstat (limited to 'src/jtag')
-rw-r--r--src/jtag/drivers/sysfsgpio.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/jtag/drivers/sysfsgpio.c b/src/jtag/drivers/sysfsgpio.c
index 283ec44..f77371c 100644
--- a/src/jtag/drivers/sysfsgpio.c
+++ b/src/jtag/drivers/sysfsgpio.c
@@ -475,14 +475,18 @@ static int sysfsgpio_init(void)
goto out_error;
/* assume active low*/
- trst_fd = setup_sysfs_gpio(trst_gpio, 1, 1);
- if (trst_gpio > 0 && trst_fd < 0)
- goto out_error;
+ if (trst_gpio > 0) {
+ trst_fd = setup_sysfs_gpio(trst_gpio, 1, 1);
+ if (trst_fd < 0)
+ goto out_error;
+ }
/* assume active low*/
- srst_fd = setup_sysfs_gpio(srst_gpio, 1, 1);
- if (srst_gpio > 0 && srst_fd < 0)
- goto out_error;
+ if (srst_gpio > 0) {
+ srst_fd = setup_sysfs_gpio(srst_gpio, 1, 1);
+ if (srst_fd < 0)
+ goto out_error;
+ }
return ERROR_OK;