Hi all, After merging the tty tree, today's linux-next build (arm multi_v7_defconfig) failed like this: drivers/tty/serial/samsung.c: In function 's3c24xx_serial_rx_enable': drivers/tty/serial/samsung.c:87:41: error: subscripted value is neither array nor pointer nor vector #define rx_enabled(port) ((port)->unused[1]) ^ drivers/tty/serial/samsung.c:138:2: note: in expansion of macro 'rx_enabled' rx_enabled(port) = 1; ^~~~~~~~~~ drivers/tty/serial/samsung.c: In function 's3c24xx_serial_rx_disable': drivers/tty/serial/samsung.c:87:41: error: subscripted value is neither array nor pointer nor vector #define rx_enabled(port) ((port)->unused[1]) ^ drivers/tty/serial/samsung.c:153:2: note: in expansion of macro 'rx_enabled' rx_enabled(port) = 0; ^~~~~~~~~~ drivers/tty/serial/samsung.c: In function 's3c24xx_serial_stop_tx': drivers/tty/serial/samsung.c:86:41: error: subscripted value is neither array nor pointer nor vector #define tx_enabled(port) ((port)->unused[0]) ^ drivers/tty/serial/samsung.c:165:7: note: in expansion of macro 'tx_enabled' if (!tx_enabled(port)) ^~~~~~~~~~ drivers/tty/serial/samsung.c:86:41: error: subscripted value is neither array nor pointer nor vector #define tx_enabled(port) ((port)->unused[0]) ^ drivers/tty/serial/samsung.c:185:2: note: in expansion of macro 'tx_enabled' tx_enabled(port) = 0; ^~~~~~~~~~ drivers/tty/serial/samsung.c: In function 's3c24xx_serial_start_tx': drivers/tty/serial/samsung.c:86:41: error: subscripted value is neither array nor pointer nor vector #define tx_enabled(port) ((port)->unused[0]) ^ drivers/tty/serial/samsung.c:343:7: note: in expansion of macro 'tx_enabled' if (!tx_enabled(port)) { ^~~~~~~~~~ drivers/tty/serial/samsung.c:86:41: error: subscripted value is neither array nor pointer nor vector #define tx_enabled(port) ((port)->unused[0]) ^ drivers/tty/serial/samsung.c:347:3: note: in expansion of macro 'tx_enabled' tx_enabled(port) = 1; ^~~~~~~~~~ drivers/tty/serial/samsung.c: In function 's3c24xx_serial_stop_rx': drivers/tty/serial/samsung.c:87:41: error: subscripted value is neither array nor pointer nor vector #define rx_enabled(port) ((port)->unused[1]) ^ drivers/tty/serial/samsung.c:392:6: note: in expansion of macro 'rx_enabled' if (rx_enabled(port)) { ^~~~~~~~~~ drivers/tty/serial/samsung.c:87:41: error: subscripted value is neither array nor pointer nor vector #define rx_enabled(port) ((port)->unused[1]) ^ drivers/tty/serial/samsung.c:399:3: note: in expansion of macro 'rx_enabled' rx_enabled(port) = 0; ^~~~~~~~~~ drivers/tty/serial/samsung.c: In function 's3c24xx_serial_rx_drain_fifo': drivers/tty/serial/samsung.c:87:41: error: subscripted value is neither array nor pointer nor vector #define rx_enabled(port) ((port)->unused[1]) ^ drivers/tty/serial/samsung.c:621:8: note: in expansion of macro 'rx_enabled' if (rx_enabled(port)) { ^~~~~~~~~~ drivers/tty/serial/samsung.c:87:41: error: subscripted value is neither array nor pointer nor vector #define rx_enabled(port) ((port)->unused[1]) ^ drivers/tty/serial/samsung.c:623:6: note: in expansion of macro 'rx_enabled' rx_enabled(port) = 0; ^~~~~~~~~~ drivers/tty/serial/samsung.c:87:41: error: subscripted value is neither array nor pointer nor vector #define rx_enabled(port) ((port)->unused[1]) ^ drivers/tty/serial/samsung.c:631:6: note: in expansion of macro 'rx_enabled' rx_enabled(port) = 1; ^~~~~~~~~~ drivers/tty/serial/samsung.c: In function 's3c24xx_serial_shutdown': drivers/tty/serial/samsung.c:86:41: error: subscripted value is neither array nor pointer nor vector #define tx_enabled(port) ((port)->unused[0]) ^ drivers/tty/serial/samsung.c:981:3: note: in expansion of macro 'tx_enabled' tx_enabled(port) = 0; ^~~~~~~~~~ drivers/tty/serial/samsung.c:87:41: error: subscripted value is neither array nor pointer nor vector #define rx_enabled(port) ((port)->unused[1]) ^ drivers/tty/serial/samsung.c:990:3: note: in expansion of macro 'rx_enabled' rx_enabled(port) = 0; ^~~~~~~~~~ drivers/tty/serial/samsung.c: In function 's3c24xx_serial_startup': drivers/tty/serial/samsung.c:87:41: error: subscripted value is neither array nor pointer nor vector #define rx_enabled(port) ((port)->unused[1]) ^ drivers/tty/serial/samsung.c:1015:2: note: in expansion of macro 'rx_enabled' rx_enabled(port) = 1; ^~~~~~~~~~ drivers/tty/serial/samsung.c:86:41: error: subscripted value is neither array nor pointer nor vector #define tx_enabled(port) ((port)->unused[0]) ^ drivers/tty/serial/samsung.c:1029:2: note: in expansion of macro 'tx_enabled' tx_enabled(port) = 1; ^~~~~~~~~~ drivers/tty/serial/samsung.c: In function 's3c64xx_serial_startup': drivers/tty/serial/samsung.c:87:41: error: subscripted value is neither array nor pointer nor vector #define rx_enabled(port) ((port)->unused[1]) ^ drivers/tty/serial/samsung.c:1080:2: note: in expansion of macro 'rx_enabled' rx_enabled(port) = 1; ^~~~~~~~~~ drivers/tty/serial/samsung.c:86:41: error: subscripted value is neither array nor pointer nor vector #define tx_enabled(port) ((port)->unused[0]) ^ drivers/tty/serial/samsung.c:1082:2: note: in expansion of macro 'tx_enabled' tx_enabled(port) = 0; ^~~~~~~~~~ drivers/tty/serial/samsung.c: In function 's3c24xx_serial_resume_noirq': drivers/tty/serial/samsung.c:86:41: error: subscripted value is neither array nor pointer nor vector #define tx_enabled(port) ((port)->unused[0]) ^ drivers/tty/serial/samsung.c:1966:8: note: in expansion of macro 'tx_enabled' if (tx_enabled(port)) ^~~~~~~~~~ drivers/tty/serial/samsung.c:87:41: error: subscripted value is neither array nor pointer nor vector #define rx_enabled(port) ((port)->unused[1]) ^ drivers/tty/serial/samsung.c:1968:8: note: in expansion of macro 'rx_enabled' if (rx_enabled(port)) ^~~~~~~~~~ Caused by commit c550f01c810f ("serial:serial_core: Allow use of CTS for PPS line discipline") Looks like a suprise from some "interesting" previous development. I have used the tty tree from next-20181003 for today. -- Cheers, Stephen Rothwell