Unable to compile kernel when cy(4) device driver included in GENERIC config file. cc -c -O -pipe -std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I../../.. -I../../../contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -fstack-protector -Werror ../../../dev/cy/cy.c ./../../dev/cy/cy.c:251: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'cybreak' ./../../dev/cy/cy.c:252: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'cymodem' ./../../dev/cy/cy.c:253: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'cyopen' ./../../dev/cy/cy.c:254: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'cyclose' cc1: warnings being treated as errors ./../../dev/cy/cy.c: In function 'cyattach_common': ./../../dev/cy/cy.c:411: warning: implicit declaration of function 'ttyalloc' ./../../dev/cy/cy.c:411: warning: nested extern declaration of 'ttyalloc' ./../../dev/cy/cy.c:411: warning: assignment makes pointer from integer without a cast ./../../dev/cy/cy.c:412: error: 'struct tty' has no member named 't_open' ./../../dev/cy/cy.c:412: error: 'cyopen' undeclared (first use in this function) ./../../dev/cy/cy.c:412: error: (Each undeclared identifier is reported only once ./../../dev/cy/cy.c:412: error: for each function it appears in.) ./../../dev/cy/cy.c:413: error: 'struct tty' has no member named 't_close' ./../../dev/cy/cy.c:413: error: 'cyclose' undeclared (first use in this function) ./../../dev/cy/cy.c:414: error: 'struct tty' has no member named 't_oproc' ./../../dev/cy/cy.c:415: error: 'struct tty' has no member named 't_stop' ./../../dev/cy/cy.c:416: error: 'struct tty' has no member named 't_param' ./../../dev/cy/cy.c:417: error: 'struct tty' has no member named 't_break' ./../../dev/cy/cy.c:417: error: 'cybreak' undeclared (first use in this function) ./../../dev/cy/cy.c:418: error: 'struct tty' has no member named 't_modem' ./../../dev/cy/cy.c:418: error: 'cymodem' undeclared (first use in this function) ./../../dev/cy/cy.c:419: error: 'struct tty' has no member named 't_sc' ./../../dev/cy/cy.c:421: error: 'struct tty' has no member named 't_init_in' ./../../dev/cy/cy.c:436: warning: implicit declaration of function 'ttycreate' ./../../dev/cy/cy.c:436: warning: nested extern declaration of 'ttycreate' ./../../dev/cy/cy.c:436: error: 'TS_CALLOUT' undeclared (first use in this function) ./../../dev/cy/cy.c: In function 'cyopen': ./../../dev/cy/cy.c:453: error: 'struct tty' has no member named 't_sc' ./../../dev/cy/cy.c: In function 'cyclose': ./../../dev/cy/cy.c:495: error: 'struct tty' has no member named 't_sc' ./../../dev/cy/cy.c:516: error: 'struct tty' has no member named 't_cflag' ./../../dev/cy/cy.c:524: error: 'struct tty' has no member named 't_actout' ./../../dev/cy/cy.c:526: error: 'struct tty' has no member named 't_init_in' ./../../dev/cy/cy.c:527: error: 'struct tty' has no member named 't_state' ./../../dev/cy/cy.c:527: error: 'TS_ISOPEN' undeclared (first use in this function) ./../../dev/cy/cy.c:528: warning: implicit declaration of function 'cymodem' ./../../dev/cy/cy.c:528: warning: nested extern declaration of 'cymodem' ./../../dev/cy/cy.c:536: warning: implicit declaration of function 'ttydtrwaitstart' ./../../dev/cy/cy.c:536: warning: nested extern declaration of 'ttydtrwaitstart' ./../../dev/cy/cy.c:539: error: 'struct tty' has no member named 't_actout' ./../../dev/cy/cy.c:540: error: 'struct tty' has no member named 't_actout' ./../../dev/cy/cy.c:541: warning: implicit declaration of function 'TSA_CARR_ON' ./../../dev/cy/cy.c:541: warning: nested extern declaration of 'TSA_CARR_ON' ./../../dev/cy/cy.c:541: warning: passing argument 1 of 'wakeup' makes pointer from integer without a cast ./../../dev/cy/cy.c: In function 'cyinput': ./../../dev/cy/cy.c:561: error: 'struct tty' has no member named 't_state' ./../../dev/cy/cy.c:561: error: 'TS_ISOPEN' undeclared (first use in this function) ./../../dev/cy/cy.c:566: error: 'struct tty' has no member named 't_state' ./../../dev/cy/cy.c:566: error: 'TS_CAN_BYPASS_L_RINT' undeclared (first use in this function) ./../../dev/cy/cy.c:584: error: 'struct tty' has no member named 't_rawq' ./../../dev/cy/cy.c:584: error: 'struct tty' has no member named 't_ihiwat' ./../../dev/cy/cy.c:586: error: 'struct tty' has no member named 't_iflag' ./../../dev/cy/cy.c:587: error: 'struct tty' has no member named 't_state' ./../../dev/cy/cy.c:587: error: 'TS_TBLOCK' undeclared (first use in this function) ./../../dev/cy/cy.c:588: warning: implicit declaration of function 'ttyblock' ./../../dev/cy/cy.c:588: warning: nested extern declaration of 'ttyblock' ./../../dev/cy/cy.c:590: warning: implicit declaration of function 'b_to_q' ./../../dev/cy/cy.c:590: warning: nested extern declaration of 'b_to_q' ./../../dev/cy/cy.c:590: error: 'struct tty' has no member named 't_rawq' ./../../dev/cy/cy.c:592: error: 'tk_nin' undeclared (first use in this function) ./../../dev/cy/cy.c:593: error: 'tk_rawcc' undeclared (first use in this function) ./../../dev/cy/cy.c:594: error: 'struct tty' has no member named 't_rawcc' ./../../dev/cy/cy.c:595: warning: implicit declaration of function 'ttwakeup' ./../../dev/cy/cy.c:595: warning: nested extern declaration of 'ttwakeup' ./../../dev/cy/cy.c:596: error: 'struct tty' has no member named 't_state' ./../../dev/cy/cy.c:596: error: 'TS_TTSTOP' undeclared (first use in this function) ./../../dev/cy/cy.c:597: error: 'struct tty' has no member named 't_iflag' ./../../dev/cy/cy.c:598: error: 'struct tty' has no member named 't_cc' ./../../dev/cy/cy.c:598: error: 'struct tty' has no member named 't_cc' ./../../dev/cy/cy.c:599: error: 'struct tty' has no member named 't_state' ./../../dev/cy/cy.c:600: error: 'struct tty' has no member named 't_lflag' ./../../dev/cy/cy.c:620: error: 'TTY_BI' undeclared (first use in this function) ./../../dev/cy/cy.c:622: error: 'TTY_FE' undeclared (first use in this function) ./../../dev/cy/cy.c:624: error: 'TTY_OE' undeclared (first use in this function) ./../../dev/cy/cy.c:626: error: 'TTY_PE' undeclared (first use in this function) ./../../dev/cy/cy.c:628: warning: implicit declaration of function 'ttyld_rint' ./../../dev/cy/cy.c:628: warning: nested extern declaration of 'ttyld_rint' ./../../dev/cy/cy.c:642: error: 'struct tty' has no member named 't_state' ./../../dev/cy/cy.c: In function 'cyintr': ./../../dev/cy/cy.c:730: error: 'struct tty' has no member named 't_state' ./../../dev/cy/cy.c:730: error: 'TS_ISOPEN' undeclared (first use in this function) ./../../dev/cy/cy.c:732: error: 'struct tty' has no member named 't_iflag' ./../../dev/cy/cy.c:734: error: 'struct tty' has no member named 't_iflag' ./../../dev/cy/cy.c:737: error: 'struct tty' has no member named 't_state' ./../../dev/cy/cy.c:737: error: 'TS_CAN_BYPASS_L_RINT' undeclared (first use in this function) ./../../dev/cy/cy.c:740: error: 'struct tty' has no member named 't_iflag' ./../../dev/cy/cy.c:746: error: 'struct tty' has no member named 't_hotchar' ./../../dev/cy/cy.c:746: error: 'struct tty' has no member named 't_hotchar' ./../../dev/cy/cy.c:753: error: 'struct tty' has no member named 't_do_timestamp' ./../../dev/cy/cy.c:754: error: 'struct tty' has no member named 't_timestamp' ./../../dev/cy/cy.c:782: error: 'struct tty' has no member named 't_do_timestamp' ./../../dev/cy/cy.c:783: error: 'struct tty' has no member named 't_timestamp' ./../../dev/cy/cy.c:789: error: 'struct tty' has no member named 't_hotchar' ./../../dev/cy/cy.c:791: error: 'struct tty' has no member named 't_hotchar' ./../../dev/cy/cy.c:806: error: 'struct tty' has no member named 't_hotchar' ./../../dev/cy/cy.c:807: error: 'struct tty' has no member named 't_hotchar' ./../../dev/cy/cy.c:812: error: 'struct tty' has no member named 't_do_timestamp' ./../../dev/cy/cy.c:813: error: 'struct tty' has no member named 't_timestamp' ./../../dev/cy/cy.c:826: error: 'struct tty' has no member named 't_hotchar' ./../../dev/cy/cy.c:827: error: 'struct tty' has no member named 't_hotchar' ./../../dev/cy/cy.c: In function 'cybreak': ./../../dev/cy/cy.c:1122: error: 'struct tty' has no member named 't_sc' ./../../dev/cy/cy.c: In function 'cypoll': ./../../dev/cy/cy.c:1193: warning: implicit declaration of function 'ttyld_modem' ./../../dev/cy/cy.c:1193: warning: nested extern declaration of 'ttyld_modem' ./../../dev/cy/cy.c:1204: error: 'struct tty' has no member named 't_state' ./../../dev/cy/cy.c:1204: error: 'TS_BUSY' undeclared (first use in this function) ./../../dev/cy/cy.c:1205: warning: implicit declaration of function 'ttwwakeup' ./../../dev/cy/cy.c:1205: warning: nested extern declaration of 'ttwwakeup' ./../../dev/cy/cy.c:1220: warning: implicit declaration of function 'ttyld_start' ./../../dev/cy/cy.c:1220: warning: nested extern declaration of 'ttyld_start' ./../../dev/cy/cy.c: In function 'cyparam': ./../../dev/cy/cy.c:1246: error: 'struct tty' has no member named 't_sc' ./../../dev/cy/cy.c:1253: error: 'struct tty' has no member named 't_ospeed' ./../../dev/cy/cy.c:1512: error: 'struct tty' has no member named 't_state' ./../../dev/cy/cy.c:1512: error: 'TS_TTSTOP' undeclared (first use in this function) ./../../dev/cy/cy.c: In function 'cysetwater': ./../../dev/cy/cy.c:1617: error: 'struct tty' has no member named 't_ififosize' ./../../dev/cy/cy.c:1618: error: 'struct tty' has no member named 't_ispeedwat' ./../../dev/cy/cy.c:1619: error: 'struct tty' has no member named 't_ospeedwat' ./../../dev/cy/cy.c: In function 'cystart': ./../../dev/cy/cy.c:1661: error: 'struct tty' has no member named 't_sc' ./../../dev/cy/cy.c:1671: error: 'struct tty' has no member named 't_state' ./../../dev/cy/cy.c:1671: error: 'TS_TTSTOP' undeclared (first use in this function) ./../../dev/cy/cy.c:1687: error: 'struct tty' has no member named 't_state' ./../../dev/cy/cy.c:1687: error: 'TS_TBLOCK' undeclared (first use in this function) ./../../dev/cy/cy.c:1708: error: 'struct tty' has no member named 't_state' ./../../dev/cy/cy.c:1708: error: 'TS_TIMEOUT' undeclared (first use in this function) ./../../dev/cy/cy.c:1713: error: 'struct ttyoutq' has no member named 'c_cc' ./../../dev/cy/cy.c:1722: warning: implicit declaration of function 'q_to_b' ./../../dev/cy/cy.c:1722: warning: nested extern declaration of 'q_to_b' ./../../dev/cy/cy.c:1749: error: 'struct ttyoutq' has no member named 'c_cc' ./../../dev/cy/cy.c:1781: error: 'struct tty' has no member named 't_state' ./../../dev/cy/cy.c:1781: error: 'TS_BUSY' undeclared (first use in this function) ./../../dev/cy/cy.c: In function 'comstop': ./../../dev/cy/cy.c:1805: error: 'struct tty' has no member named 't_sc' ./../../dev/cy/cy.c:1821: error: 'struct tty' has no member named 't_state' ./../../dev/cy/cy.c:1821: error: 'TS_BUSY' undeclared (first use in this function) ./../../dev/cy/cy.c: At top level: ./../../dev/cy/cy.c:1842: error: static declaration of 'cymodem' follows non-static declaration ./../../dev/cy/cy.c:528: error: previous implicit declaration of 'cymodem' was here ./../../dev/cy/cy.c: In function 'cymodem': ./../../dev/cy/cy.c:1847: error: 'struct tty' has no member named 't_sc' ./../../dev/cy/cy.c: In function 'cysettimeout': ./../../dev/cy/cy.c:1915: error: 'struct tty' has no member named 't_state' ./../../dev/cy/cy.c:1915: error: 'TS_ISOPEN' undeclared (first use in this function) ./../../dev/cy/cy.c: In function 'disc_optim': ./../../dev/cy/cy.c:1978: warning: implicit declaration of function 'ttyldoptim' ./../../dev/cy/cy.c:1978: warning: nested extern declaration of 'ttyldoptim' ./../../dev/cy/cy.c: In function 'cd_etc': ./../../dev/cy/cy.c:2112: error: 'TTIPRI' undeclared (first use in this function) *** Error code 1 Stop in /usr/src/sys/i386/compile/TEST. How-To-Repeat: add line device cy and try to recompile the kernel.
In fact, this problem is described in UPDATING: 20080820: The TTY subsystem of the kernel has been replaced by a new implementation, which provides better scalability and an improved driver model. Most common drivers have been migrated to the new TTY subsystem, while others have not. The following drivers have not yet been ported to the new TTY layer: PCI/ISA: cy, digi, rc, rp, sio USB: ubser, ucycom Line disciplines: ng_h4, ng_tty, ppp, sl, snp Adding these drivers to your kernel configuration file shall cause compilation to fail. But "Hardware Notes" has all this devices listed as supported. Probably, this devices (except for ng_tty, which was updated in 20081225) must be marked as temporary unsupported until their drivers were fixed. Eugene mailto:eugene_ch@mail.ru
For bugs matching the following criteria: Status: In Progress Changed: (is less than) 2014-06-01 Reset to default assignee and clear in-progress tags. Mail being skipped
cy(4) still hasn't been updated to work with the new TTY subsystem. John made one attempt to remove it, in r317446, but it was brought back in r317509. Since then it still has not been fixed. I think it is time to remove it for good.