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>
__archive__
Matthew Campbell 2015-11-24 09:05:38 -05:00 committed by Andreas Fritiofson
parent 464f7005bb
commit 37252b2313
1 changed files with 2 additions and 2 deletions

View File

@ -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';
}
/*