From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v7 2/2] serial:sunplus-uart:Add Sunplus SoC UART Driver
Date: Mon, 07 Feb 2022 20:14:02 +0800 [thread overview]
Message-ID: <202202072009.s4knQBpy-lkp@intel.com> (raw)
In-Reply-To: <1644213481-20321-3-git-send-email-hammerh0314@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 7714 bytes --]
Hi Hammer,
I love your patch! Yet something to improve:
[auto build test ERROR on linux/master]
[cannot apply to tty/tty-testing robh/for-next linus/master v5.17-rc3 next-20220207]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Hammer-Hsieh/Add-UART-driver-for-Suplus-SP7021-SoC/20220207-144451
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 2c271fe77d52a0555161926c232cd5bc07178b39
config: powerpc-allmodconfig (https://download.01.org/0day-ci/archive/20220207/202202072009.s4knQBpy-lkp(a)intel.com/config)
compiler: powerpc-linux-gcc (GCC) 11.2.0
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://github.com/0day-ci/linux/commit/423c8dea29f94c6fe20e3864a2424e7bc4b79b27
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Hammer-Hsieh/Add-UART-driver-for-Suplus-SP7021-SoC/20220207-144451
git checkout 423c8dea29f94c6fe20e3864a2424e7bc4b79b27
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/tty/serial/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
drivers/tty/serial/sunplus-uart.c: In function 'sunplus_poll_put_char':
>> drivers/tty/serial/sunplus-uart.c:436:9: error: implicit declaration of function 'wait_for_xmitr'; did you mean 'wait_on_bit'? [-Werror=implicit-function-declaration]
436 | wait_for_xmitr(port);
| ^~~~~~~~~~~~~~
| wait_on_bit
drivers/tty/serial/sunplus-uart.c: At top level:
>> drivers/tty/serial/sunplus-uart.c:475:13: warning: conflicting types for 'wait_for_xmitr'; have 'void(struct uart_port *)'
475 | static void wait_for_xmitr(struct uart_port *port)
| ^~~~~~~~~~~~~~
>> drivers/tty/serial/sunplus-uart.c:475:13: error: static declaration of 'wait_for_xmitr' follows non-static declaration
drivers/tty/serial/sunplus-uart.c:436:9: note: previous implicit declaration of 'wait_for_xmitr' with type 'void(struct uart_port *)'
436 | wait_for_xmitr(port);
| ^~~~~~~~~~~~~~
drivers/tty/serial/sunplus-uart.c: In function 'sunplus_uart_probe':
drivers/tty/serial/sunplus-uart.c:630:40: warning: cast between incompatible function types from 'int (*)(struct reset_control *)' to 'void (*)(void *)' [-Wcast-function-type]
630 | (void(*)(void *))reset_control_assert,
| ^
In file included from include/linux/device/driver.h:21,
from include/linux/device.h:32,
from arch/powerpc/include/asm/io.h:27,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from arch/powerpc/include/asm/hardirq.h:6,
from include/linux/hardirq.h:11,
from include/linux/interrupt.h:11,
from drivers/tty/serial/sunplus-uart.c:10:
drivers/tty/serial/sunplus-uart.c: At top level:
include/linux/module.h:131:49: error: redefinition of '__inittest'
131 | static inline initcall_t __maybe_unused __inittest(void) \
| ^~~~~~~~~~
drivers/tty/serial/sunplus-uart.c:717:1: note: in expansion of macro 'module_init'
717 | module_init(sunplus_uart_init);
| ^~~~~~~~~~~
include/linux/module.h:131:49: note: previous definition of '__inittest' with type 'int (*(void))(void)'
131 | static inline initcall_t __maybe_unused __inittest(void) \
| ^~~~~~~~~~
include/linux/module.h:127:41: note: in expansion of macro 'module_init'
127 | #define console_initcall(fn) module_init(fn)
| ^~~~~~~~~~~
drivers/tty/serial/sunplus-uart.c:558:1: note: in expansion of macro 'console_initcall'
558 | console_initcall(sunplus_console_init);
| ^~~~~~~~~~~~~~~~
include/linux/module.h:133:13: error: redefinition of 'init_module'
133 | int init_module(void) __copy(initfn) \
| ^~~~~~~~~~~
drivers/tty/serial/sunplus-uart.c:717:1: note: in expansion of macro 'module_init'
717 | module_init(sunplus_uart_init);
| ^~~~~~~~~~~
include/linux/module.h:133:13: note: previous definition of 'init_module' with type 'int(void)'
133 | int init_module(void) __copy(initfn) \
| ^~~~~~~~~~~
include/linux/module.h:127:41: note: in expansion of macro 'module_init'
127 | #define console_initcall(fn) module_init(fn)
| ^~~~~~~~~~~
drivers/tty/serial/sunplus-uart.c:558:1: note: in expansion of macro 'console_initcall'
558 | console_initcall(sunplus_console_init);
| ^~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +436 drivers/tty/serial/sunplus-uart.c
432
433 #ifdef CONFIG_CONSOLE_POLL
434 static void sunplus_poll_put_char(struct uart_port *port, unsigned char data)
435 {
> 436 wait_for_xmitr(port);
437 sp_uart_put_char(port, data);
438 }
439
440 static int sunplus_poll_get_char(struct uart_port *port)
441 {
442 unsigned int lsr = readl(port->membase + SUP_UART_LSR);
443
444 if (!(lsr & SUP_UART_LSR_RX))
445 return NO_POLL_CHAR;
446
447 return readl(port->membase + SUP_UART_DATA);
448 }
449 #endif
450
451 static const struct uart_ops sunplus_uart_ops = {
452 .tx_empty = sunplus_tx_empty,
453 .set_mctrl = sunplus_set_mctrl,
454 .get_mctrl = sunplus_get_mctrl,
455 .stop_tx = sunplus_stop_tx,
456 .start_tx = sunplus_start_tx,
457 .stop_rx = sunplus_stop_rx,
458 .break_ctl = sunplus_break_ctl,
459 .startup = sunplus_startup,
460 .shutdown = sunplus_shutdown,
461 .set_termios = sunplus_set_termios,
462 .set_ldisc = sunplus_set_ldisc,
463 .type = sunplus_type,
464 .config_port = sunplus_config_port,
465 .verify_port = sunplus_verify_port,
466 #ifdef CONFIG_CONSOLE_POLL
467 .poll_put_char = sunplus_poll_put_char,
468 .poll_get_char = sunplus_poll_get_char,
469 #endif
470 };
471
472 #ifdef CONFIG_SERIAL_SUNPLUS_CONSOLE
473 struct sunplus_uart_port *sunplus_console_ports[SUP_UART_NR];
474
> 475 static void wait_for_xmitr(struct uart_port *port)
476 {
477 unsigned int val;
478 int ret;
479
480 /* Wait while FIFO is full or timeout */
481 ret = readl_poll_timeout_atomic(port->membase + SUP_UART_LSR, val,
482 (val & SUP_UART_LSR_TX), 1, 10000);
483
484 if (ret == -ETIMEDOUT) {
485 dev_err(port->dev, "Timeout waiting while UART TX FULL\n");
486 return;
487 }
488 }
489
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
next prev parent reply other threads:[~2022-02-07 12:14 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-07 5:57 [PATCH v7 0/2] Add UART driver for Suplus SP7021 SoC Hammer Hsieh
2022-02-07 5:58 ` [PATCH v7 1/2] dt-bindings:serial:Add bindings doc for Sunplus SoC UART Driver Hammer Hsieh
2022-02-07 5:58 ` [PATCH v7 2/2] serial:sunplus-uart:Add " Hammer Hsieh
2022-02-07 7:18 ` Greg KH
2022-02-07 11:28 ` hammer hsieh
2022-02-07 11:43 ` kernel test robot
2022-02-07 12:14 ` kernel test robot [this message]
2022-02-08 6:27 ` Jiri Slaby
2022-02-08 11:16 ` hammer hsieh
2022-02-08 11:31 ` Greg KH
2022-02-09 10:53 ` hammer hsieh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202202072009.s4knQBpy-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.