diff options
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 |