diff mbox series

[v2,1/1] package/libiio: fix sparc build

Message ID 20220925134647.577936-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series [v2,1/1] package/libiio: fix sparc build | expand

Commit Message

Fabrice Fontaine Sept. 25, 2022, 1:46 p.m. UTC
Fix the following sparc build failure raised since bump to version 0.24
in commit 9b5caa2ab45d7ec01e1657b10f94c2f60c7afe8e and
https://github.com/analogdevicesinc/libiio/commit/2d3cae005f364742b3a9e7234d15b2fd2cbac664:

/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c: In function 'serial_configure':
/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B2500000' undeclared (first use in this function); did you mean 'B1500000'?
   99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
      |                                                          ^
/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:127:9: note: in expansion of macro 'CASE_BPS'
  127 |         CASE_BPS(2500000, &tty_attrs);
      |         ^~~~~~~~
/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: note: each undeclared identifier is reported only once for each function it appears in
   99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
      |                                                          ^
/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:127:9: note: in expansion of macro 'CASE_BPS'
  127 |         CASE_BPS(2500000, &tty_attrs);
      |         ^~~~~~~~
/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B3000000' undeclared (first use in this function); did you mean 'B1000000'?
   99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
      |                                                          ^
/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:128:9: note: in expansion of macro 'CASE_BPS'
  128 |         CASE_BPS(3000000, &tty_attrs);
      |         ^~~~~~~~
/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B3500000' undeclared (first use in this function); did you mean 'B1500000'?
   99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
      |                                                          ^
/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:129:9: note: in expansion of macro 'CASE_BPS'
  129 |         CASE_BPS(3500000, &tty_attrs);
      |         ^~~~~~~~
/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B4000000' undeclared (first use in this function); did you mean 'B1000000'?
   99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
      |                                                          ^
/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:130:9: note: in expansion of macro 'CASE_BPS'
  130 |         CASE_BPS(4000000, &tty_attrs);
      |         ^~~~~~~~

Fixes:
 - http://autobuild.buildroot.org/results/8a9902f6eddaab812ebce3506ed6de686f647e02

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
Changes v1 -> v2 (after review of Yann E. Morin):
 - Don't define values as they are explicitly not defined by kernel:
   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/sparc/include/uapi/asm/termbits.h#n157

 .../0001-iiod-serial.c-fix-sparc-build.patch  | 75 +++++++++++++++++++
 1 file changed, 75 insertions(+)
 create mode 100644 package/libiio/0001-iiod-serial.c-fix-sparc-build.patch

Comments

Yann E. MORIN Sept. 25, 2022, 5:22 p.m. UTC | #1
Fabrice, All,

On 2022-09-25 15:46 +0200, Fabrice Fontaine spake thusly:
> Fix the following sparc build failure raised since bump to version 0.24
> in commit 9b5caa2ab45d7ec01e1657b10f94c2f60c7afe8e and
> https://github.com/analogdevicesinc/libiio/commit/2d3cae005f364742b3a9e7234d15b2fd2cbac664:
> 
> /home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c: In function 'serial_configure':
> /home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B2500000' undeclared (first use in this function); did you mean 'B1500000'?
>    99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
>       |                                                          ^
> /home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:127:9: note: in expansion of macro 'CASE_BPS'
>   127 |         CASE_BPS(2500000, &tty_attrs);
>       |         ^~~~~~~~
> /home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: note: each undeclared identifier is reported only once for each function it appears in
>    99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
>       |                                                          ^
> /home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:127:9: note: in expansion of macro 'CASE_BPS'
>   127 |         CASE_BPS(2500000, &tty_attrs);
>       |         ^~~~~~~~
> /home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B3000000' undeclared (first use in this function); did you mean 'B1000000'?
>    99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
>       |                                                          ^
> /home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:128:9: note: in expansion of macro 'CASE_BPS'
>   128 |         CASE_BPS(3000000, &tty_attrs);
>       |         ^~~~~~~~
> /home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B3500000' undeclared (first use in this function); did you mean 'B1500000'?
>    99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
>       |                                                          ^
> /home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:129:9: note: in expansion of macro 'CASE_BPS'
>   129 |         CASE_BPS(3500000, &tty_attrs);
>       |         ^~~~~~~~
> /home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B4000000' undeclared (first use in this function); did you mean 'B1000000'?
>    99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
>       |                                                          ^
> /home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:130:9: note: in expansion of macro 'CASE_BPS'
>   130 |         CASE_BPS(4000000, &tty_attrs);
>       |         ^~~~~~~~
> 
> Fixes:
>  - http://autobuild.buildroot.org/results/8a9902f6eddaab812ebce3506ed6de686f647e02
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

Upstream aacepted your patch, so I did a proper backport, then applied
to master, thanks.

Regards,
Yann E. MORIN.

> ---
> Changes v1 -> v2 (after review of Yann E. Morin):
>  - Don't define values as they are explicitly not defined by kernel:
>    https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/sparc/include/uapi/asm/termbits.h#n157
> 
>  .../0001-iiod-serial.c-fix-sparc-build.patch  | 75 +++++++++++++++++++
>  1 file changed, 75 insertions(+)
>  create mode 100644 package/libiio/0001-iiod-serial.c-fix-sparc-build.patch
> 
> diff --git a/package/libiio/0001-iiod-serial.c-fix-sparc-build.patch b/package/libiio/0001-iiod-serial.c-fix-sparc-build.patch
> new file mode 100644
> index 0000000000..47a86cab48
> --- /dev/null
> +++ b/package/libiio/0001-iiod-serial.c-fix-sparc-build.patch
> @@ -0,0 +1,75 @@
> +From 0a325ceea8db7d57537dbdbe0c33a142b29ec5d7 Mon Sep 17 00:00:00 2001
> +From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> +Date: Sun, 25 Sep 2022 11:19:18 +0200
> +Subject: [PATCH] iiod/serial.c: fix sparc build
> +
> +Fix the following sparc build failure raised since version 0.24 and
> +https://github.com/analogdevicesinc/libiio/commit/2d3cae005f364742b3a9e7234d15b2fd2cbac664:
> +
> +/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c: In function 'serial_configure':
> +/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B2500000' undeclared (first use in this function); did you mean 'B1500000'?
> +   99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
> +      |                                                          ^
> +/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:127:9: note: in expansion of macro 'CASE_BPS'
> +  127 |         CASE_BPS(2500000, &tty_attrs);
> +      |         ^~~~~~~~
> +/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: note: each undeclared identifier is reported only once for each function it appears in
> +   99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
> +      |                                                          ^
> +/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:127:9: note: in expansion of macro 'CASE_BPS'
> +  127 |         CASE_BPS(2500000, &tty_attrs);
> +      |         ^~~~~~~~
> +/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B3000000' undeclared (first use in this function); did you mean 'B1000000'?
> +   99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
> +      |                                                          ^
> +/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:128:9: note: in expansion of macro 'CASE_BPS'
> +  128 |         CASE_BPS(3000000, &tty_attrs);
> +      |         ^~~~~~~~
> +/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B3500000' undeclared (first use in this function); did you mean 'B1500000'?
> +   99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
> +      |                                                          ^
> +/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:129:9: note: in expansion of macro 'CASE_BPS'
> +  129 |         CASE_BPS(3500000, &tty_attrs);
> +      |         ^~~~~~~~
> +/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B4000000' undeclared (first use in this function); did you mean 'B1000000'?
> +   99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
> +      |                                                          ^
> +/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:130:9: note: in expansion of macro 'CASE_BPS'
> +  130 |         CASE_BPS(4000000, &tty_attrs);
> +      |         ^~~~~~~~
> +
> +Fixes:
> + - http://autobuild.buildroot.org/results/8a9902f6eddaab812ebce3506ed6de686f647e02
> +
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> +[Upstream status: https://github.com/analogdevicesinc/libiio/pull/908]
> +---
> + iiod/serial.c | 8 ++++++++
> + 1 file changed, 8 insertions(+)
> +
> +diff --git a/iiod/serial.c b/iiod/serial.c
> +index f829361..b140d05 100644
> +--- a/iiod/serial.c
> ++++ b/iiod/serial.c
> +@@ -124,10 +124,18 @@ static int serial_configure(int fd, unsigned int uart_bps,
> + 	CASE_BPS(1152000, &tty_attrs);
> + 	CASE_BPS(1500000, &tty_attrs);
> + 	CASE_BPS(2000000, &tty_attrs);
> ++#ifdef B2500000 /* Not available on all architectures, i.e. sparc */
> + 	CASE_BPS(2500000, &tty_attrs);
> ++#endif
> ++#ifdef B3000000 /* Not available on all architectures, i.e. sparc */
> + 	CASE_BPS(3000000, &tty_attrs);
> ++#endif
> ++#ifdef B3500000 /* Not available on all architectures, i.e. sparc */
> + 	CASE_BPS(3500000, &tty_attrs);
> ++#endif
> ++#ifdef B4000000 /* Not available on all architectures, i.e. sparc */
> + 	CASE_BPS(4000000, &tty_attrs);
> ++#endif
> + 	default:
> + 		IIO_ERROR("Invalid baud rate\n");
> + 		return -EINVAL;
> +-- 
> +2.35.1
> +
> -- 
> 2.35.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/package/libiio/0001-iiod-serial.c-fix-sparc-build.patch b/package/libiio/0001-iiod-serial.c-fix-sparc-build.patch
new file mode 100644
index 0000000000..47a86cab48
--- /dev/null
+++ b/package/libiio/0001-iiod-serial.c-fix-sparc-build.patch
@@ -0,0 +1,75 @@ 
+From 0a325ceea8db7d57537dbdbe0c33a142b29ec5d7 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Sun, 25 Sep 2022 11:19:18 +0200
+Subject: [PATCH] iiod/serial.c: fix sparc build
+
+Fix the following sparc build failure raised since version 0.24 and
+https://github.com/analogdevicesinc/libiio/commit/2d3cae005f364742b3a9e7234d15b2fd2cbac664:
+
+/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c: In function 'serial_configure':
+/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B2500000' undeclared (first use in this function); did you mean 'B1500000'?
+   99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
+      |                                                          ^
+/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:127:9: note: in expansion of macro 'CASE_BPS'
+  127 |         CASE_BPS(2500000, &tty_attrs);
+      |         ^~~~~~~~
+/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: note: each undeclared identifier is reported only once for each function it appears in
+   99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
+      |                                                          ^
+/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:127:9: note: in expansion of macro 'CASE_BPS'
+  127 |         CASE_BPS(2500000, &tty_attrs);
+      |         ^~~~~~~~
+/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B3000000' undeclared (first use in this function); did you mean 'B1000000'?
+   99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
+      |                                                          ^
+/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:128:9: note: in expansion of macro 'CASE_BPS'
+  128 |         CASE_BPS(3000000, &tty_attrs);
+      |         ^~~~~~~~
+/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B3500000' undeclared (first use in this function); did you mean 'B1500000'?
+   99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
+      |                                                          ^
+/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:129:9: note: in expansion of macro 'CASE_BPS'
+  129 |         CASE_BPS(3500000, &tty_attrs);
+      |         ^~~~~~~~
+/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B4000000' undeclared (first use in this function); did you mean 'B1000000'?
+   99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break
+      |                                                          ^
+/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:130:9: note: in expansion of macro 'CASE_BPS'
+  130 |         CASE_BPS(4000000, &tty_attrs);
+      |         ^~~~~~~~
+
+Fixes:
+ - http://autobuild.buildroot.org/results/8a9902f6eddaab812ebce3506ed6de686f647e02
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Upstream status: https://github.com/analogdevicesinc/libiio/pull/908]
+---
+ iiod/serial.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/iiod/serial.c b/iiod/serial.c
+index f829361..b140d05 100644
+--- a/iiod/serial.c
++++ b/iiod/serial.c
+@@ -124,10 +124,18 @@ static int serial_configure(int fd, unsigned int uart_bps,
+ 	CASE_BPS(1152000, &tty_attrs);
+ 	CASE_BPS(1500000, &tty_attrs);
+ 	CASE_BPS(2000000, &tty_attrs);
++#ifdef B2500000 /* Not available on all architectures, i.e. sparc */
+ 	CASE_BPS(2500000, &tty_attrs);
++#endif
++#ifdef B3000000 /* Not available on all architectures, i.e. sparc */
+ 	CASE_BPS(3000000, &tty_attrs);
++#endif
++#ifdef B3500000 /* Not available on all architectures, i.e. sparc */
+ 	CASE_BPS(3500000, &tty_attrs);
++#endif
++#ifdef B4000000 /* Not available on all architectures, i.e. sparc */
+ 	CASE_BPS(4000000, &tty_attrs);
++#endif
+ 	default:
+ 		IIO_ERROR("Invalid baud rate\n");
+ 		return -EINVAL;
+-- 
+2.35.1
+