[PATCH v1 2/2] LRW UART: serial: add driver for the LRW UART

kernel test robot lkp at intel.com
Fri Feb 13 09:50:20 PST 2026


Hi LiuQingtao,

kernel test robot noticed the following build warnings:

[auto build test WARNING on tty/tty-testing]
[also build test WARNING on tty/tty-next tty/tty-linus robh/for-next usb/usb-testing usb/usb-next usb/usb-linus linus/master v6.19 next-20260212]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/LiuQingtao/LRW-UART-dt-bindings-Add-binding-for-LRW-UART/20260213-173610
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-testing
patch link:    https://lore.kernel.org/r/20260213093334.9217-3-qtliu%40mail.ustc.edu.cn
patch subject: [PATCH v1 2/2] LRW UART: serial: add driver for the LRW UART
config: riscv-allyesconfig (https://download.01.org/0day-ci/archive/20260214/202602140108.kLMOYbwS-lkp@intel.com/config)
compiler: clang version 16.0.6 (https://github.com/llvm/llvm-project 7cbf1a2591520c2491aa35339f227775f4d3adf6)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260214/202602140108.kLMOYbwS-lkp@intel.com/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 at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202602140108.kLMOYbwS-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/tty/serial/lrw_uart.c:2266:3: warning: variable 'new_mcfg' is uninitialized when used here [-Wuninitialized]
                   new_mcfg |= UARTMCFG_UARTEN | UARTMCFG_TXE;
                   ^~~~~~~~
   drivers/tty/serial/lrw_uart.c:2246:37: note: initialize the variable 'new_mcfg' to silence this warning
           unsigned int old_mcfg = 0, new_mcfg;
                                              ^
                                               = 0
   1 warning generated.


vim +/new_mcfg +2266 drivers/tty/serial/lrw_uart.c

  2240	
  2241	static void
  2242	lrw_uart_console_write(struct console *co, const char *s, unsigned int count)
  2243	{
  2244		struct lrw_uart_port *sup = lrw_uart_console_ports[co->index];
  2245		unsigned int old_fccr = 0, new_fccr;
  2246		unsigned int old_mcfg = 0, new_mcfg;
  2247		unsigned long flags;
  2248		int locked = 1;
  2249	
  2250		clk_enable(sup->clk);
  2251	
  2252		if (oops_in_progress)
  2253			locked = uart_port_trylock_irqsave(&sup->port, &flags);
  2254		else
  2255			uart_port_lock_irqsave(&sup->port, &flags);
  2256	
  2257		/*
  2258		 *	First save the FCCR then disable the interrupts
  2259		 */
  2260		if (!sup->vendor->always_enabled) {
  2261			old_fccr = lrw_uart_read(sup, REG_FCCR);
  2262			new_fccr = old_fccr & ~UARTFCCR_CTSEN;
  2263			lrw_uart_write(new_fccr, sup, REG_FCCR);
  2264	
  2265			old_mcfg = lrw_uart_read(sup, REG_MCFG);
> 2266			new_mcfg |= UARTMCFG_UARTEN | UARTMCFG_TXE;
  2267			lrw_uart_write(new_mcfg, sup, REG_MCFG);
  2268		}
  2269	
  2270		uart_console_write(&sup->port, s, count, lrw_uart_console_putchar);
  2271	
  2272		/*
  2273		 *	Finally, wait for transmitter to become empty and restore the
  2274		 *	TCR. Allow feature register bits to be inverted to work around
  2275		 *	errata.
  2276		 */
  2277		while ((lrw_uart_read(sup, REG_FR) ^ sup->vendor->inv_fr)
  2278							& sup->vendor->fr_busy)
  2279			cpu_relax();
  2280		if (!sup->vendor->always_enabled) {
  2281			lrw_uart_write(old_fccr, sup, REG_FCCR);
  2282			lrw_uart_write(old_mcfg, sup, REG_MCFG);
  2283		}
  2284	
  2285		if (locked)
  2286			uart_port_unlock_irqrestore(&sup->port, flags);
  2287	
  2288		clk_disable(sup->clk);
  2289	}
  2290	

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



More information about the linux-riscv mailing list