diff options
author | Thomas Heijligen <thomas.heijligen@secunet.de> | 2021-09-27 15:12:26 +0200 |
---|---|---|
committer | Nico Huber <nico.h@gmx.de> | 2021-09-28 22:00:41 +0000 |
commit | 29ff205e6f10895cd6c53678398b962eb18694d2 (patch) | |
tree | 5c673f6f068496f95b5b23dca283fd2d83d68e44 /custom_baud.c | |
parent | 5a8b0773dd777b4ca60dbcc30168dc3cb5945a1a (diff) | |
download | flashrom-29ff205e6f10895cd6c53678398b962eb18694d2.tar.gz flashrom-29ff205e6f10895cd6c53678398b962eb18694d2.tar.bz2 flashrom-29ff205e6f10895cd6c53678398b962eb18694d2.zip |
custom_baud: move Linux specific code into own file
Handle system specific code in an own file like i2c_helper_linux.c.
The build system decides when to build it.
Change-Id: I0744e769dcc6000483e7256105903a87e927ee77
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/57990
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'custom_baud.c')
-rw-r--r-- | custom_baud.c | 47 |
1 files changed, 2 insertions, 45 deletions
diff --git a/custom_baud.c b/custom_baud.c index caf2b78c..28f182c3 100644 --- a/custom_baud.c +++ b/custom_baud.c @@ -14,52 +14,10 @@ * GNU General Public License for more details. */ -#include "platform.h" -#include "custom_baud.h" - -#if IS_LINUX -#include <sys/ioctl.h> -#include <fcntl.h> -#include <asm-generic/termbits.h> -#include <asm-generic/ioctls.h> - -/* - * This include hell above is why this is in a separate source file. See eg. - * https://www.downtowndougbrown.com/2013/11/linux-custom-serial-baud-rates/ - * https://stackoverflow.com/questions/12646324/how-to-set-a-custom-baud-rate-on-linux - * https://github.com/jbkim/Linux-custom-baud-rate - * for more info. - */ - -int set_custom_baudrate(int fd, unsigned int baud) -{ - struct termios2 tio; - if (ioctl(fd, TCGETS2, &tio)) { - return -1; - } - tio.c_cflag &= ~CBAUD; - tio.c_cflag |= BOTHER; - tio.c_ispeed = baud; - tio.c_ospeed = baud; - return ioctl(fd, TCSETS2, &tio); -} - -int use_custom_baud(unsigned int baud, const struct baudentry *baudtable) -{ - int i; - for (i = 0; baudtable[i].baud; i++) { - if (baudtable[i].baud == baud) - return 0; - - if (baudtable[i].baud > baud) - return 1; - } - return 1; -} - -#else #include <errno.h> +#include "custom_baud.h" + /* Stub, should not get called. */ int set_custom_baudrate(int fd, unsigned int baud) { @@ -71,4 +29,3 @@ int use_custom_baud(unsigned int baud, const struct baudentry *baudtable) { return 0; } -#endif |