diff options
author | Paul Fertser <fercerpav@gmail.com> | 2013-05-03 12:49:07 +0400 |
---|---|---|
committer | Freddie Chopin <freddie.chopin@gmail.com> | 2013-05-08 14:53:36 +0000 |
commit | 80a6d617813807814784316870e8c0e8ba3abce3 (patch) | |
tree | 51ae4e299f38046c1efb3d0f49b9bd8a0e2fce03 /src | |
parent | 2a864a89c8296d67587b93a58996615e74fe9c31 (diff) |
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')
-rw-r--r-- | src/jtag/drivers/sysfsgpio.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/jtag/drivers/sysfsgpio.c b/src/jtag/drivers/sysfsgpio.c index 283ec445..f77371c8 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; |