Bug 166866 - [build] [cy] cy(4) driver breaks kernel build in 8.3
Summary: [build] [cy] cy(4) driver breaks kernel build in 8.3
Status: Open
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 8.3-RELEASE
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-12 09:40 UTC by Eugene Shouleshov
Modified: 2020-06-08 16:40 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eugene Shouleshov 2012-04-12 09:40:13 UTC
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.
Comment 1 Eugene Shouleshov 2012-04-13 09:42:13 UTC
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
Comment 2 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 08:00:13 UTC
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
Comment 3 Mark Johnston freebsd_committer freebsd_triage 2020-06-08 16:40:01 UTC
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.