kumquat-buildroot/package/c-periphery/0002-Fix-build-on-SPARC.patch
Thomas Petazzoni c5e96d8935 c-periphery: fix SPARC build issue
Some of the serial port highest speed are not defined on SPARC, so
c-periphery should not use them, so we add a patch to fix that.

Fixes:

  http://autobuild.buildroot.net/results/a5d34ef58d45be6fe0b6c8a71ed665d5dc29dfd9/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-08-08 22:59:06 +02:00

71 lines
2.1 KiB
Diff

From 295316c3f44c3e779e85d7453424496a3bb4bc48 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Sat, 8 Aug 2015 22:56:09 +0200
Subject: [PATCH] Fix build on SPARC
On SPARC, the definitions of B2500000, B3000000, B3500000 and B4000000
are not necessarily available, so use those values only if defined in
the kernel headers.
It fixes SPARC build failures such as:
src/serial.c: In function '_serial_baudrate_to_bits':
src/serial.c:73:30: error: 'B2500000' undeclared (first use in this function)
case 2500000: return B2500000;
^
src/serial.c:73:30: note: each undeclared identifier is reported only once for each function it appears in
src/serial.c:74:30: error: 'B3000000' undeclared (first use in this function)
case 3000000: return B3000000;
^
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
src/serial.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/src/serial.c b/src/serial.c
index e385309..efd425e 100644
--- a/src/serial.c
+++ b/src/serial.c
@@ -70,10 +70,18 @@ static int _serial_baudrate_to_bits(uint32_t baudrate) {
case 1152000: return B1152000;
case 1500000: return B1500000;
case 2000000: return B2000000;
+#ifdef B2500000
case 2500000: return B2500000;
+#endif
+#ifdef B3000000
case 3000000: return B3000000;
+#endif
+#ifdef B3500000
case 3500000: return B3500000;
+#endif
+#ifdef B4000000
case 4000000: return B4000000;
+#endif
default: return -1;
}
}
@@ -107,10 +115,18 @@ static int _serial_bits_to_baudrate(uint32_t bits) {
case B1152000: return 1152000;
case B1500000: return 1500000;
case B2000000: return 2000000;
+#ifdef B2500000
case B2500000: return 2500000;
+#endif
+#ifdef B3000000
case B3000000: return 3000000;
+#endif
+#ifdef B3500000
case B3500000: return 3500000;
+#endif
+#ifdef B4000000
case B4000000: return 4000000;
+#endif
default: return -1;
}
}
--
2.5.0