[jirislaby:devel 10/31] drivers/tty/serial/uartlite.c:508:37: error: incompatible function pointer types passing 'void (struct uart_port *, int)' to parameter of type 'void (*)(struct uart_port *, char)'

From: kernel test robot
Date: Tue Jan 18 2022 - 13:21:38 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git devel
head: 0ecc0cdeaabd6b08ef3ec6dfaf724139031c00b8
commit: 2258e16ea4fe67f9700294b439b7aa1669aef643 [10/31] serial: make uart_console_write->putchar's character a char
config: i386-randconfig-a002-20220117 (https://download.01.org/0day-ci/archive/20220119/202201190250.HH3mpoB9-lkp@xxxxxxxxx/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project c10cbb243cafc0cf42c3e922cb29183279444432)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git/commit/?id=2258e16ea4fe67f9700294b439b7aa1669aef643
git remote add jirislaby https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git
git fetch --no-tags jirislaby devel
git checkout 2258e16ea4fe67f9700294b439b7aa1669aef643
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

>> drivers/tty/serial/uartlite.c:508:37: error: incompatible function pointer types passing 'void (struct uart_port *, int)' to parameter of type 'void (*)(struct uart_port *, char)' [-Werror,-Wincompatible-function-pointer-types]
uart_console_write(port, s, count, ulite_console_putchar);
^~~~~~~~~~~~~~~~~~~~~
include/linux/serial_core.h:402:11: note: passing argument to parameter 'putchar' here
void (*putchar)(struct uart_port *, char));
^
1 error generated.


vim +508 drivers/tty/serial/uartlite.c

238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 490
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 491 static void ulite_console_write(struct console *co, const char *s,
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 492 unsigned int count)
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 493 {
deeb33e8fdd834 drivers/tty/serial/uartlite.c Shubhrajyoti Datta 2018-08-06 494 struct uart_port *port = console_port;
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 495 unsigned long flags;
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 496 unsigned int ier;
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 497 int locked = 1;
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 498
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 499 if (oops_in_progress) {
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 500 locked = spin_trylock_irqsave(&port->lock, flags);
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 501 } else
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 502 spin_lock_irqsave(&port->lock, flags);
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 503
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 504 /* save and disable interrupt */
6d53c3b71d32da drivers/tty/serial/uartlite.c Michal Simek 2013-02-11 505 ier = uart_in32(ULITE_STATUS, port) & ULITE_STATUS_IE;
6d53c3b71d32da drivers/tty/serial/uartlite.c Michal Simek 2013-02-11 506 uart_out32(0, ULITE_CONTROL, port);
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 507
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 @508 uart_console_write(port, s, count, ulite_console_putchar);
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 509
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 510 ulite_console_wait_tx(port);
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 511
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 512 /* restore interrupt state */
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 513 if (ier)
6d53c3b71d32da drivers/tty/serial/uartlite.c Michal Simek 2013-02-11 514 uart_out32(ULITE_CONTROL_IE, ULITE_CONTROL, port);
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 515
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 516 if (locked)
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 517 spin_unlock_irqrestore(&port->lock, flags);
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 518 }
238b8721a554a3 drivers/serial/uartlite.c Peter Korsgaard 2006-12-06 519

:::::: The code at line 508 was first introduced by commit
:::::: 238b8721a554a33a451a3f13bdb5be8fe5cfc927 [PATCH] serial uartlite driver

:::::: TO: Peter Korsgaard <jacmet@xxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx