From 80a6d617813807814784316870e8c0e8ba3abce3 Mon Sep 17 00:00:00 2001 From: Paul Fertser Date: Fri, 3 May 2013 12:49:07 +0400 Subject: [PATCH] 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 Reviewed-on: http://openocd.zylin.com/1375 Tested-by: jenkins Reviewed-by: Freddie Chopin --- src/jtag/drivers/sysfsgpio.c | 16 ++++++++++------ 1 file 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; -- 2.39.5