Skip to contentSkip to conversation

fs/compat_ioctl.c:869:1: error: 'TIOCSRS485' undeclared here (not in a function

PATCH In review Fengguang Wu 2 participants 3 messages Sep 22, 2012 – Sep 24, 2012

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 10/16 fs/compat_ioctl.c:869:1: error: 'TIOCSRS485' undeclared here (not in a function

Hi Jaeden,

FYI, kernel build failed on

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-next
head:   ac57e7f38ea6fe7358cd0b7a2f2d21aef5ab70cd
commit: 84c3b84860440a9e3a3666c14112f41311b8f623 [10/16] compat_ioctl: Add RS-485 IOCTLs to the list
config: mips-fuloong2e_defconfig

All related error/warning messages:

fs/compat_ioctl.c:869:1: error: 'TIOCSRS485' undeclared here (not in a function) fs/compat_ioctl.c:870:1: error: 'TIOCGRS485' undeclared here (not in a function)

vim +869 fs/compat_ioctl.c
863 COMPATIBLE_IOCTL(TIOCSPGRP)
864 COMPATIBLE_IOCTL(TIOCGPGRP)
865 COMPATIBLE_IOCTL(TIOCGPTN)
866 COMPATIBLE_IOCTL(TIOCSPTLCK)
867 COMPATIBLE_IOCTL(TIOCSERGETLSR)
868 COMPATIBLE_IOCTL(TIOCSIG)

Quoted 1 line

869 COMPATIBLE_IOCTL(TIOCSRS485)

870 COMPATIBLE_IOCTL(TIOCGRS485)
871 #ifdef TCGETS2
872 COMPATIBLE_IOCTL(TCGETS2)

---
0-DAY kernel build testing backend Open Source Technology Centre
Fengguang Wu, Yuanhan Liu Intel Corporation

#1 lore raw

Re: [tty:tty-next 10/16] fs/compat_ioctl.c:869:1: error: 'TIOCSRS485' undeclared here (not in a func

Quoted 9 lines · Fengguang Wu

FYI, kernel build failed on

tree: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
tty-next

head:   ac57e7f38ea6fe7358cd0b7a2f2d21aef5ab70cd
commit: 84c3b84860440a9e3a3666c14112f41311b8f623 [10/16]

compat_ioctl: Add RS-485 IOCTLs to the list
config: mips-fuloong2e_defconfig

Quoted 6 lines

All related error/warning messages:

fs/compat_ioctl.c:869:1: error: 'TIOCSRS485' undeclared here (not in
a function)
fs/compat_ioctl.c:870:1: error: 'TIOCGRS485' undeclared here (not in
a function)

I could fix this by defining these IOCTLs for all architectures that don't have them yet, but I'm unsure of what values to give them or why MIPS isn't using 'include/asm-generic/ioctls.h'.

Perhaps it is better to leave adding those IOCTLs up to those who add the first RS-485 capable driver for that platform and to wrap the use of these defines in compat_ioctl.c with #ifdefs, as I've done in this patch. What do you think is best?

Cheers,
Jaeden Amero

Jaeden Amero (1):
compat_ioctl: Avoid using undefined RS-485 IOCTLs

 fs/compat_ioctl.c | 4 ++++
 1 file changed, 4 insertions(+)
Signature · 1 line
1.7.12
#2 lore raw

PATCH 1/1 compat_ioctl: Avoid using undefined RS-485 IOCTLs

Wrap the use of TIOCSRS485 and TIOCGRS485 in #ifdef so that we avoid adding undefined IOCTLs to the ioctl pointer list as compatible ioctls.

This change was motivated by a build error on a MIPS build.

tree: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
tty-next

head:   ac57e7f38ea6fe7358cd0b7a2f2d21aef5ab70cd
commit: 84c3b84860440a9e3a3666c14112f41311b8f623 [10/16] compat_ioctl:

Add RS-485 IOCTLs to the list
config: mips-fuloong2e_defconfig

All related error/warning messages:

fs/compat_ioctl.c:869:1: error: 'TIOCSRS485' undeclared here (not in a
function)
fs/compat_ioctl.c:870:1: error: 'TIOCGRS485' undeclared here (not in a
function)

vim +869 fs/compat_ioctl.c
863 COMPATIBLE_IOCTL(TIOCSPGRP)
864 COMPATIBLE_IOCTL(TIOCGPGRP)
865 COMPATIBLE_IOCTL(TIOCGPTN)
866 COMPATIBLE_IOCTL(TIOCSPTLCK)
867 COMPATIBLE_IOCTL(TIOCSERGETLSR)
868 COMPATIBLE_IOCTL(TIOCSIG)

Quoted 1 line

869 COMPATIBLE_IOCTL(TIOCSRS485)

870 COMPATIBLE_IOCTL(TIOCGRS485)
871 #ifdef TCGETS2
872 COMPATIBLE_IOCTL(TCGETS2)

---
 fs/compat_ioctl.c | 4 ++++
 1 file changed, 4 insertions(+)
fs/compat_ioctl.c +4 -0
index 85dfebfe6820856dc3154dfd178acb6fca63bbe9..59f8db4a39a78338b2c7a148122a04e11e026caf 100644
@@ -866,8 +866,12 @@ COMPATIBLE_IOCTL(TIOCGPTN)
 COMPATIBLE_IOCTL(TIOCSPTLCK)
 COMPATIBLE_IOCTL(TIOCSERGETLSR)
 COMPATIBLE_IOCTL(TIOCSIG)
+#ifdef TIOCSRS485
 COMPATIBLE_IOCTL(TIOCSRS485)
+#endif
+#ifdef TIOCGRS485
 COMPATIBLE_IOCTL(TIOCGRS485)
+#endif
 #ifdef TCGETS2
 COMPATIBLE_IOCTL(TCGETS2)
 COMPATIBLE_IOCTL(TCSETS2)
Signature · 1 line
1.7.12