Bug#1077217: adv-17v35x-dkms: module fails to build for Linux 6.10: error: 'struct uart_state' has no member named 'xmit'
Package: adv-17v35x-dkms
Version: 5.0.7.0-1
Severity: important
Tags: upstream sid trixie
adv-17v35x-dkms fails to build a module for Linux 6.10 in experimental:
DKMS make.log for adv-17v35x-5.0.7.0 for kernel 6.10-cloud-amd64 (x86_64)
Tue Jul 23 20:27:05 UTC 2024
make: Entering directory '/usr/src/linux-headers-6.10-cloud-amd64'
CC [M] /var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.o
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c: In function 'transmit_chars':
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:830:48: error: 'struct uart_state' has no member named 'xmit'
830 | struct circ_buf *xmit = &up->port.state->xmit;
| ^~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:851:13: error: implicit declaration of function 'uart_circ_empty'; did you mean 'uart_lsr_tx_empty'? [-Werror=implicit-function-declaration]
851 | if (uart_circ_empty(xmit)) {
| ^~~~~~~~~~~~~~~
| uart_lsr_tx_empty
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:868:13: error: implicit declaration of function 'uart_circ_chars_pending' [-Werror=implicit-function-declaration]
868 | if (uart_circ_chars_pending(xmit) < count)
| ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:883:27: error: invalid use of undefined type 'struct circ_buf'
883 | if( ((xmit->tail + count) & (UART_XMIT_SIZE-1)) < xmit->tail)
| ^~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:883:71: error: invalid use of undefined type 'struct circ_buf'
883 | if( ((xmit->tail + count) & (UART_XMIT_SIZE-1)) < xmit->tail)
| ^~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:885:52: error: invalid use of undefined type 'struct circ_buf'
885 | tmp = UART_XMIT_SIZE - xmit->tail;
| ^~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:886:85: error: invalid use of undefined type 'struct circ_buf'
886 | memcpy_toio(up->port.membase + UART_17V35X_TX_OFFSET, &(xmit->buf[xmit->tail]), tmp);
| ^~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:886:95: error: invalid use of undefined type 'struct circ_buf'
886 | memcpy_toio(up->port.membase + UART_17V35X_TX_OFFSET, &(xmit->buf[xmit->tail]), tmp);
| ^~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:887:29: error: invalid use of undefined type 'struct circ_buf'
887 | xmit->tail += tmp;
| ^~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:888:29: error: invalid use of undefined type 'struct circ_buf'
888 | xmit->tail &= (UART_XMIT_SIZE-1);
| ^~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:894:85: error: invalid use of undefined type 'struct circ_buf'
894 | memcpy_toio(up->port.membase + UART_17V35X_TX_OFFSET, &(xmit->buf[xmit->tail]), count);
| ^~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:894:95: error: invalid use of undefined type 'struct circ_buf'
894 | memcpy_toio(up->port.membase + UART_17V35X_TX_OFFSET, &(xmit->buf[xmit->tail]), count);
| ^~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:895:29: error: invalid use of undefined type 'struct circ_buf'
895 | xmit->tail += count;
| ^~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:896:29: error: invalid use of undefined type 'struct circ_buf'
896 | xmit->tail &= UART_XMIT_SIZE - 1;
| ^~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c: At top level:
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:2033:6: warning: no previous prototype for 'serialadv_spi_delay' [-Wmissing-prototypes]
2033 | void serialadv_spi_delay(void)
| ^~~~~~~~~~~~~~~~~~~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:2045:6: warning: no previous prototype for 'serialadv_spi_write_slave' [-Wmissing-prototypes]
2045 | void serialadv_spi_write_slave(struct uart_adv_port *up, unsigned char data)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:2068:5: warning: no previous prototype for 'serialadv_spi_read_slave' [-Wmissing-prototypes]
2068 | int serialadv_spi_read_slave(struct uart_adv_port *up, unsigned char *p_data)
| ^~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:2098:6: warning: no previous prototype for 'serialadv_spi_start' [-Wmissing-prototypes]
2098 | void serialadv_spi_start(struct uart_adv_port *up)
| ^~~~~~~~~~~~~~~~~~~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:2110:6: warning: no previous prototype for 'serialadv_spi_stop' [-Wmissing-prototypes]
2110 | void serialadv_spi_stop(struct uart_adv_port *up)
| ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:2131:5: warning: no previous prototype for 'serialadv_get_boardID' [-Wmissing-prototypes]
2131 | int serialadv_get_boardID(struct uart_adv_port *up, short unsigned int *p_boardID)
| ^~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:2221:6: warning: no previous prototype for 'init_adv_uart_struct' [-Wmissing-prototypes]
2221 | void init_adv_uart_struct(void)
| ^~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:2254:5: warning: no previous prototype for 'serialadv_register_port' [-Wmissing-prototypes]
2254 | int serialadv_register_port(struct uart_port *port, unsigned short deviceid,
| ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:2530:6: warning: no previous prototype for 'serialadv_unregister_port' [-Wmissing-prototypes]
2530 | void serialadv_unregister_port(int index, int line)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.c:2547:6: warning: no previous prototype for 'pciserial_remove_ports' [-Wmissing-prototypes]
2547 | void pciserial_remove_ports(struct serial_private *priv)
| ^~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [/usr/src/linux-headers-6.10-common/scripts/Makefile.build:249: /var/lib/dkms/adv-17v35x/5.0.7.0/build/adv17v35x.o] Error 1
make[1]: *** [/usr/src/linux-headers-6.10-common/Makefile:1959: /var/lib/dkms/adv-17v35x/5.0.7.0/build] Error 2
make: *** [/usr/src/linux-headers-6.10-common/Makefile:252: __sub-make] Error 2
make: Leaving directory '/usr/src/linux-headers-6.10-cloud-amd64'
This seems to be caused by Linux commit
1788cf6a91d9fa9aa61fc2917afe192c23d67f6a
tty: serial: switch from circ_buf to kfifo
Andreas
Reply to: