diff --git a/custom_baud.c b/custom_baud.c
index caf2b78..28f182c 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 @@
 {
 	return 0;
 }
-#endif
