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__
parent
464f7005bb
commit
37252b2313
|
@ -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';
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue