Re: [PATCH 2/2] tty: serial: samsung_tty: cast the interrupt's void *id just once

From: kernel test robot
Date: Fri Aug 09 2024 - 03:22:24 EST


Hi André,

kernel test robot noticed the following build errors:

[auto build test ERROR on 1e391b34f6aa043c7afa40a2103163a0ef06d179]

url: https://github.com/intel-lab-lkp/linux/commits/Andr-Draszik/tty-serial-samsung_tty-drop-unused-argument-to-irq-handlers/20240806-234342
base: 1e391b34f6aa043c7afa40a2103163a0ef06d179
patch link: https://lore.kernel.org/r/20240806-samsung-tty-cleanup-v1-2-a68d3abf31fe%40linaro.org
patch subject: [PATCH 2/2] tty: serial: samsung_tty: cast the interrupt's void *id just once
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20240809/202408091530.vvvqEiPv-lkp@xxxxxxxxx/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240809/202408091530.vvvqEiPv-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202408091530.vvvqEiPv-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

>> drivers/tty/serial/samsung_tty.c:948:31: error: passing 'const struct s3c24xx_uart_port *' to parameter of type 'struct s3c24xx_uart_port *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
948 | ret = s3c24xx_serial_rx_irq(ourport);
| ^~~~~~~
drivers/tty/serial/samsung_tty.c:856:68: note: passing argument to parameter 'ourport' here
856 | static irqreturn_t s3c24xx_serial_rx_irq(struct s3c24xx_uart_port *ourport)
| ^
drivers/tty/serial/samsung_tty.c:952:31: error: passing 'const struct s3c24xx_uart_port *' to parameter of type 'struct s3c24xx_uart_port *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
952 | ret = s3c24xx_serial_tx_irq(ourport);
| ^~~~~~~
drivers/tty/serial/samsung_tty.c:927:68: note: passing argument to parameter 'ourport' here
927 | static irqreturn_t s3c24xx_serial_tx_irq(struct s3c24xx_uart_port *ourport)
| ^
drivers/tty/serial/samsung_tty.c:969:31: error: passing 'const struct s3c24xx_uart_port *' to parameter of type 'struct s3c24xx_uart_port *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
969 | ret = s3c24xx_serial_rx_irq(ourport);
| ^~~~~~~
drivers/tty/serial/samsung_tty.c:856:68: note: passing argument to parameter 'ourport' here
856 | static irqreturn_t s3c24xx_serial_rx_irq(struct s3c24xx_uart_port *ourport)
| ^
drivers/tty/serial/samsung_tty.c:973:31: error: passing 'const struct s3c24xx_uart_port *' to parameter of type 'struct s3c24xx_uart_port *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
973 | ret = s3c24xx_serial_tx_irq(ourport);
| ^~~~~~~
drivers/tty/serial/samsung_tty.c:927:68: note: passing argument to parameter 'ourport' here
927 | static irqreturn_t s3c24xx_serial_tx_irq(struct s3c24xx_uart_port *ourport)
| ^
4 errors generated.


vim +948 drivers/tty/serial/samsung_tty.c

938
939 /* interrupt handler for s3c64xx and later SoC's.*/
940 static irqreturn_t s3c64xx_serial_handle_irq(int irq, void *id)
941 {
942 const struct s3c24xx_uart_port *ourport = id;
943 const struct uart_port *port = &ourport->port;
944 u32 pend = rd_regl(port, S3C64XX_UINTP);
945 irqreturn_t ret = IRQ_HANDLED;
946
947 if (pend & S3C64XX_UINTM_RXD_MSK) {
> 948 ret = s3c24xx_serial_rx_irq(ourport);
949 wr_regl(port, S3C64XX_UINTP, S3C64XX_UINTM_RXD_MSK);
950 }
951 if (pend & S3C64XX_UINTM_TXD_MSK) {
952 ret = s3c24xx_serial_tx_irq(ourport);
953 wr_regl(port, S3C64XX_UINTP, S3C64XX_UINTM_TXD_MSK);
954 }
955 return ret;
956 }
957

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki