Hi Dmitry, Thank you for the patch! Yet something to improve: [auto build test ERROR on tty/tty-testing] [also build test ERROR on next-20200109] [cannot apply to linux/master usb/usb-testing linus/master v5.5-rc5] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Dmitry-Safonov/serial-sysrq-Add-MAGIC_SYSRQ_SERIAL_SEQUENCE/20200110-191606 base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-testing config: microblaze-nommu_defconfig (attached as .config) compiler: microblaze-linux-gcc (GCC) 7.5.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.5.0 make.cross ARCH=microblaze If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): >> drivers/tty/serial/serial_core.c:3084:33: error: 'CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE' undeclared here (not in a function) const char sysrq_toggle_seq[] = CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/tty/serial/serial_core.c: In function 'uart_sysrq_on': >> drivers/tty/serial/serial_core.c:3088:2: error: implicit declaration of function 'sysrq_toggle_support' [-Werror=implicit-function-declaration] sysrq_toggle_support(1); ^~~~~~~~~~~~~~~~~~~~ drivers/tty/serial/serial_core.c: In function 'uart_handle_sysrq_char': >> drivers/tty/serial/serial_core.c:3125:7: error: implicit declaration of function 'sysrq_get_mask'; did you mean 'xas_get_mark'? [-Werror=implicit-function-declaration] if (sysrq_get_mask()) { ^~~~~~~~~~~~~~ xas_get_mark cc1: some warnings being treated as errors vim +/CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE +3084 drivers/tty/serial/serial_core.c 3083 > 3084 const char sysrq_toggle_seq[] = CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE; 3085 3086 static void uart_sysrq_on(struct work_struct *w) 3087 { > 3088 sysrq_toggle_support(1); 3089 pr_info("SysRq is enabled by magic sequience on serial\n"); 3090 } 3091 static DECLARE_WORK(sysrq_enable_work, uart_sysrq_on); 3092 3093 static int uart_try_toggle_sysrq(struct uart_port *port, unsigned int ch) 3094 { 3095 if (sysrq_toggle_seq[0] == '\0') 3096 return 0; 3097 3098 BUILD_BUG_ON(ARRAY_SIZE(sysrq_toggle_seq) >= sizeof(port->sysrq_seq)*U8_MAX); 3099 if (sysrq_toggle_seq[port->sysrq_seq] != ch) { 3100 port->sysrq_seq = 0; 3101 return 0; 3102 } 3103 3104 /* Without the last \0 */ 3105 if (++port->sysrq_seq < (ARRAY_SIZE(sysrq_toggle_seq) - 1)) { 3106 port->sysrq = jiffies + HZ*5; 3107 return 1; 3108 } 3109 3110 schedule_work(&sysrq_enable_work); 3111 3112 port->sysrq = 0; 3113 return 1; 3114 } 3115 3116 int uart_handle_sysrq_char(struct uart_port *port, unsigned int ch) 3117 { 3118 if (!IS_ENABLED(CONFIG_MAGIC_SYSRQ_SERIAL)) 3119 return 0; 3120 3121 if (!port->has_sysrq || !port->sysrq) 3122 return 0; 3123 3124 if (ch && time_before(jiffies, port->sysrq)) { > 3125 if (sysrq_get_mask()) { 3126 handle_sysrq(ch); 3127 port->sysrq = 0; 3128 return 1; 3129 } 3130 if (uart_try_toggle_sysrq(port, ch)) 3131 return 1; 3132 } 3133 port->sysrq = 0; 3134 3135 return 0; 3136 } 3137 EXPORT_SYMBOL_GPL(uart_handle_sysrq_char); 3138 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx Intel Corporation
Attachment:
.config.gz
Description: application/gzip