I have Ubuntu 24.04 booting on a T2 mac mini, kernel version 6.12.9-1-t2-noble.
I’m running into build errors complaining about circ_buf and xmit. I found a couple XTRX-related threads about it (A, B, C, and D) and I have some idea what’s going on, but none of them made it clear (to me) how to proceed. Any help would be appreciated, full error below.
[ 1%] Building Linux kernel module (limepcie) in dir: /home/galahad/LimeSuiteNG/build/drivers/linux/limepcie/limepcie-0.1.9
/home/galahad/LimeSuiteNG/build/drivers/linux/limepcie/limepcie-0.1.9/limeuart.c: In function ‘limeuart_start_tx’:
/home/galahad/LimeSuiteNG/build/drivers/linux/limepcie/limepcie-0.1.9/limeuart.c:164:41: error: ‘struct uart_state’ has no member named ‘xmit’
164 | struct circ_buf *xmit = &port->state->xmit;
| ^~
/home/galahad/LimeSuiteNG/build/drivers/linux/limepcie/limepcie-0.1.9/limeuart.c:173:15: error: implicit declaration of function ‘uart_circ_empty’; did you mean ‘uart_lsr_tx_empty’? [-Werror=implicit-function-declaration]
173 | else if (!uart_circ_empty(xmit))
| ^~~~~~~~~~~~~~~
| uart_lsr_tx_empty
/home/galahad/LimeSuiteNG/build/drivers/linux/limepcie/limepcie-0.1.9/limeuart.c:175:20: error: invalid use of undefined type ‘struct circ_buf’
175 | while (xmit->head != xmit->tail)
| ^~
/home/galahad/LimeSuiteNG/build/drivers/linux/limepcie/limepcie-0.1.9/limeuart.c:175:34: error: invalid use of undefined type ‘struct circ_buf’
175 | while (xmit->head != xmit->tail)
| ^~
/home/galahad/LimeSuiteNG/build/drivers/linux/limepcie/limepcie-0.1.9/limeuart.c:177:22: error: invalid use of undefined type ‘struct circ_buf’
177 | ch = xmit->buf[xmit->tail];
| ^~
/home/galahad/LimeSuiteNG/build/drivers/linux/limepcie/limepcie-0.1.9/limeuart.c:177:32: error: invalid use of undefined type ‘struct circ_buf’
177 | ch = xmit->buf[xmit->tail];
| ^~
/home/galahad/LimeSuiteNG/build/drivers/linux/limepcie/limepcie-0.1.9/limeuart.c:178:17: error: invalid use of undefined type ‘struct circ_buf’
178 | xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
| ^~
/home/galahad/LimeSuiteNG/build/drivers/linux/limepcie/limepcie-0.1.9/limeuart.c:178:31: error: invalid use of undefined type ‘struct circ_buf’
178 | xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
| ^~
/home/galahad/LimeSuiteNG/build/drivers/linux/limepcie/limepcie-0.1.9/limeuart.c:184:9: error: implicit declaration of function ‘uart_circ_chars_pending’ [-Werror=implicit-function-declaration]
184 | if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)
| ^~~~~~~~~~~~~~~~~~~~~~~
/home/galahad/LimeSuiteNG/build/drivers/linux/limepcie/limepcie-0.1.9/limeuart.c: At top level:
/home/galahad/LimeSuiteNG/build/drivers/linux/limepcie/limepcie-0.1.9/limeuart.c:434:15: error: initialization of ‘void (*)(struct platform_device *)’ from incompatible pointer type ‘int (*)(struct platform_device *)’ [-Werror=incompatible-pointer-types]
434 | .remove = limeuart_remove,
| ^~~~~~~~~~~~~~~
/home/galahad/LimeSuiteNG/build/drivers/linux/limepcie/limepcie-0.1.9/limeuart.c:434:15: note: (near initialization for ‘limeuart_platform_driver.<anonymous>.remove’)
cc1: some warnings being treated as errors
make[5]: *** [scripts/Makefile.build:229: /home/galahad/LimeSuiteNG/build/drivers/linux/limepcie/limepcie-0.1.9/limeuart.o] Error 1
make[4]: *** [/usr/src/linux-headers-6.12.7-3-t2-noble/Makefile:1937: /home/galahad/LimeSuiteNG/build/drivers/linux/limepcie/limepcie-0.1.9] Error 2
make[3]: *** [Makefile:224: __sub-make] Error 2
make[2]: *** [drivers/linux/limepcie/CMakeFiles/limepcie.dir/build.make:84: drivers/linux/limepcie/limepcie-0.1.9/limepcie.ko] Error 2
make[1]: *** [CMakeFiles/Makefile2:1129: drivers/linux/limepcie/CMakeFiles/limepcie.dir/all] Error 2
make: *** [Makefile:136: all] Error 2