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>
__archive__
Paul Fertser 2013-05-03 12:49:07 +04:00 committed by Freddie Chopin
parent 2a864a89c8
commit 80a6d61781
1 changed files with 10 additions and 6 deletions

View File

@ -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;