tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: b605fdc54c2b28c30ef06d9db99282d8a32ae4be commit: 880f694bd1cef484e92065ea4e736850abce5352 [2450/2855] Kconfig.debug: make DEBUG_INFO selectable from a choice config: s390-randconfig-r032-20220124 (https://download.01.org/0day-ci/archive/20220128/202201282217.feGQWIFA-lkp@xxxxxxxxx/config) compiler: s390-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://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=880f694bd1cef484e92065ea4e736850abce5352 git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next master git checkout 880f694bd1cef484e92065ea4e736850abce5352 # 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=s390 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 >>): s390-linux-ld: drivers/input/keyboard/samsung-keypad.o: in function `samsung_keypad_probe': >> drivers/input/keyboard/samsung-keypad.c:361: undefined reference to `devm_ioremap' s390-linux-ld: drivers/clocksource/timer-of.o: in function `timer_of_base_init': >> drivers/clocksource/timer-of.c:159: undefined reference to `of_iomap' s390-linux-ld: drivers/clocksource/timer-of.o: in function `timer_of_base_exit': >> drivers/clocksource/timer-of.c:151: undefined reference to `iounmap' >> s390-linux-ld: drivers/clocksource/timer-of.c:151: undefined reference to `iounmap' s390-linux-ld: drivers/clocksource/timer-microchip-pit64b.o: in function `mchp_pit64b_dt_init_timer': >> drivers/clocksource/timer-microchip-pit64b.c:436: undefined reference to `of_iomap' >> s390-linux-ld: drivers/clocksource/timer-microchip-pit64b.c:486: undefined reference to `iounmap' vim +361 drivers/input/keyboard/samsung-keypad.c b3d6ac3e5f9374 Thomas Abraham 2011-11-02 313 5298cc4cc753bb Bill Pemberton 2012-11-23 314 static int samsung_keypad_probe(struct platform_device *pdev) 0fffed27f92d9d Joonyoung Shim 2010-07-21 315 { 0fffed27f92d9d Joonyoung Shim 2010-07-21 316 const struct samsung_keypad_platdata *pdata; 0fffed27f92d9d Joonyoung Shim 2010-07-21 317 const struct matrix_keymap_data *keymap_data; 0fffed27f92d9d Joonyoung Shim 2010-07-21 318 struct samsung_keypad *keypad; 0fffed27f92d9d Joonyoung Shim 2010-07-21 319 struct resource *res; 0fffed27f92d9d Joonyoung Shim 2010-07-21 320 struct input_dev *input_dev; 0fffed27f92d9d Joonyoung Shim 2010-07-21 321 unsigned int row_shift; 0fffed27f92d9d Joonyoung Shim 2010-07-21 322 unsigned int keymap_size; 0fffed27f92d9d Joonyoung Shim 2010-07-21 323 int error; 0fffed27f92d9d Joonyoung Shim 2010-07-21 324 c838cb3d477f79 Jingoo Han 2013-12-05 325 pdata = dev_get_platdata(&pdev->dev); 0fffed27f92d9d Joonyoung Shim 2010-07-21 326 if (!pdata) { 670d20725e4f70 Dmitry Torokhov 2012-11-03 327 pdata = samsung_keypad_parse_dt(&pdev->dev); 670d20725e4f70 Dmitry Torokhov 2012-11-03 328 if (IS_ERR(pdata)) 670d20725e4f70 Dmitry Torokhov 2012-11-03 329 return PTR_ERR(pdata); 0fffed27f92d9d Joonyoung Shim 2010-07-21 330 } 0fffed27f92d9d Joonyoung Shim 2010-07-21 331 0fffed27f92d9d Joonyoung Shim 2010-07-21 332 keymap_data = pdata->keymap_data; 0fffed27f92d9d Joonyoung Shim 2010-07-21 333 if (!keymap_data) { 0fffed27f92d9d Joonyoung Shim 2010-07-21 334 dev_err(&pdev->dev, "no keymap data defined\n"); 0fffed27f92d9d Joonyoung Shim 2010-07-21 335 return -EINVAL; 0fffed27f92d9d Joonyoung Shim 2010-07-21 336 } 0fffed27f92d9d Joonyoung Shim 2010-07-21 337 0fffed27f92d9d Joonyoung Shim 2010-07-21 338 if (!pdata->rows || pdata->rows > SAMSUNG_MAX_ROWS) 0fffed27f92d9d Joonyoung Shim 2010-07-21 339 return -EINVAL; 0fffed27f92d9d Joonyoung Shim 2010-07-21 340 0fffed27f92d9d Joonyoung Shim 2010-07-21 341 if (!pdata->cols || pdata->cols > SAMSUNG_MAX_COLS) 0fffed27f92d9d Joonyoung Shim 2010-07-21 342 return -EINVAL; 0fffed27f92d9d Joonyoung Shim 2010-07-21 343 0fffed27f92d9d Joonyoung Shim 2010-07-21 344 /* initialize the gpio */ 0fffed27f92d9d Joonyoung Shim 2010-07-21 345 if (pdata->cfg_gpio) 0fffed27f92d9d Joonyoung Shim 2010-07-21 346 pdata->cfg_gpio(pdata->rows, pdata->cols); 0fffed27f92d9d Joonyoung Shim 2010-07-21 347 0fffed27f92d9d Joonyoung Shim 2010-07-21 348 row_shift = get_count_order(pdata->cols); 0fffed27f92d9d Joonyoung Shim 2010-07-21 349 keymap_size = (pdata->rows << row_shift) * sizeof(keypad->keycodes[0]); 0fffed27f92d9d Joonyoung Shim 2010-07-21 350 a57da34795452b Sachin Kamat 2012-11-27 351 keypad = devm_kzalloc(&pdev->dev, sizeof(*keypad) + keymap_size, a57da34795452b Sachin Kamat 2012-11-27 352 GFP_KERNEL); a57da34795452b Sachin Kamat 2012-11-27 353 input_dev = devm_input_allocate_device(&pdev->dev); a57da34795452b Sachin Kamat 2012-11-27 354 if (!keypad || !input_dev) a57da34795452b Sachin Kamat 2012-11-27 355 return -ENOMEM; 0fffed27f92d9d Joonyoung Shim 2010-07-21 356 0fffed27f92d9d Joonyoung Shim 2010-07-21 357 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); a57da34795452b Sachin Kamat 2012-11-27 358 if (!res) a57da34795452b Sachin Kamat 2012-11-27 359 return -ENODEV; 0fffed27f92d9d Joonyoung Shim 2010-07-21 360 a57da34795452b Sachin Kamat 2012-11-27 @361 keypad->base = devm_ioremap(&pdev->dev, res->start, resource_size(res)); a57da34795452b Sachin Kamat 2012-11-27 362 if (!keypad->base) a57da34795452b Sachin Kamat 2012-11-27 363 return -EBUSY; 0fffed27f92d9d Joonyoung Shim 2010-07-21 364 a57da34795452b Sachin Kamat 2012-11-27 365 keypad->clk = devm_clk_get(&pdev->dev, "keypad"); 0fffed27f92d9d Joonyoung Shim 2010-07-21 366 if (IS_ERR(keypad->clk)) { 0fffed27f92d9d Joonyoung Shim 2010-07-21 367 dev_err(&pdev->dev, "failed to get keypad clk\n"); a57da34795452b Sachin Kamat 2012-11-27 368 return PTR_ERR(keypad->clk); 0fffed27f92d9d Joonyoung Shim 2010-07-21 369 } 0fffed27f92d9d Joonyoung Shim 2010-07-21 370 aba828cee24f48 Thomas Abraham 2012-10-04 371 error = clk_prepare(keypad->clk); aba828cee24f48 Thomas Abraham 2012-10-04 372 if (error) { aba828cee24f48 Thomas Abraham 2012-10-04 373 dev_err(&pdev->dev, "keypad clock prepare failed\n"); a57da34795452b Sachin Kamat 2012-11-27 374 return error; aba828cee24f48 Thomas Abraham 2012-10-04 375 } aba828cee24f48 Thomas Abraham 2012-10-04 376 0fffed27f92d9d Joonyoung Shim 2010-07-21 377 keypad->input_dev = input_dev; 48c98b1bb85a09 Mark Brown 2011-12-29 378 keypad->pdev = pdev; 0fffed27f92d9d Joonyoung Shim 2010-07-21 379 keypad->row_shift = row_shift; 0fffed27f92d9d Joonyoung Shim 2010-07-21 380 keypad->rows = pdata->rows; 0fffed27f92d9d Joonyoung Shim 2010-07-21 381 keypad->cols = pdata->cols; 48c98b1bb85a09 Mark Brown 2011-12-29 382 keypad->stopped = true; 0fffed27f92d9d Joonyoung Shim 2010-07-21 383 init_waitqueue_head(&keypad->wait); 0fffed27f92d9d Joonyoung Shim 2010-07-21 384 41cc2aaf802ee2 Thomas Abraham 2013-06-25 385 if (pdev->dev.of_node) b3d6ac3e5f9374 Thomas Abraham 2011-11-02 386 keypad->type = of_device_is_compatible(pdev->dev.of_node, b3d6ac3e5f9374 Thomas Abraham 2011-11-02 387 "samsung,s5pv210-keypad"); 41cc2aaf802ee2 Thomas Abraham 2013-06-25 388 else b3d6ac3e5f9374 Thomas Abraham 2011-11-02 389 keypad->type = platform_get_device_id(pdev)->driver_data; b3d6ac3e5f9374 Thomas Abraham 2011-11-02 390 0fffed27f92d9d Joonyoung Shim 2010-07-21 391 input_dev->name = pdev->name; 0fffed27f92d9d Joonyoung Shim 2010-07-21 392 input_dev->id.bustype = BUS_HOST; 0fffed27f92d9d Joonyoung Shim 2010-07-21 393 input_dev->dev.parent = &pdev->dev; 0fffed27f92d9d Joonyoung Shim 2010-07-21 394 0fffed27f92d9d Joonyoung Shim 2010-07-21 395 input_dev->open = samsung_keypad_open; 0fffed27f92d9d Joonyoung Shim 2010-07-21 396 input_dev->close = samsung_keypad_close; 0fffed27f92d9d Joonyoung Shim 2010-07-21 397 1932811f426fee Dmitry Torokhov 2012-05-10 398 error = matrix_keypad_build_keymap(keymap_data, NULL, 1932811f426fee Dmitry Torokhov 2012-05-10 399 pdata->rows, pdata->cols, 1932811f426fee Dmitry Torokhov 2012-05-10 400 keypad->keycodes, input_dev); 1932811f426fee Dmitry Torokhov 2012-05-10 401 if (error) { 1932811f426fee Dmitry Torokhov 2012-05-10 402 dev_err(&pdev->dev, "failed to build keymap\n"); aba828cee24f48 Thomas Abraham 2012-10-04 403 goto err_unprepare_clk; 1932811f426fee Dmitry Torokhov 2012-05-10 404 } 0fffed27f92d9d Joonyoung Shim 2010-07-21 405 0fffed27f92d9d Joonyoung Shim 2010-07-21 406 input_set_capability(input_dev, EV_MSC, MSC_SCAN); 1932811f426fee Dmitry Torokhov 2012-05-10 407 if (!pdata->no_autorepeat) 1932811f426fee Dmitry Torokhov 2012-05-10 408 __set_bit(EV_REP, input_dev->evbit); 0fffed27f92d9d Joonyoung Shim 2010-07-21 409 1932811f426fee Dmitry Torokhov 2012-05-10 410 input_set_drvdata(input_dev, keypad); 0fffed27f92d9d Joonyoung Shim 2010-07-21 411 0fffed27f92d9d Joonyoung Shim 2010-07-21 412 keypad->irq = platform_get_irq(pdev, 0); 0fffed27f92d9d Joonyoung Shim 2010-07-21 413 if (keypad->irq < 0) { 0fffed27f92d9d Joonyoung Shim 2010-07-21 414 error = keypad->irq; a57da34795452b Sachin Kamat 2012-11-27 415 goto err_unprepare_clk; 0fffed27f92d9d Joonyoung Shim 2010-07-21 416 } 0fffed27f92d9d Joonyoung Shim 2010-07-21 417 a57da34795452b Sachin Kamat 2012-11-27 418 error = devm_request_threaded_irq(&pdev->dev, keypad->irq, NULL, a57da34795452b Sachin Kamat 2012-11-27 419 samsung_keypad_irq, IRQF_ONESHOT, a57da34795452b Sachin Kamat 2012-11-27 420 dev_name(&pdev->dev), keypad); 0fffed27f92d9d Joonyoung Shim 2010-07-21 421 if (error) { 0fffed27f92d9d Joonyoung Shim 2010-07-21 422 dev_err(&pdev->dev, "failed to register keypad interrupt\n"); a57da34795452b Sachin Kamat 2012-11-27 423 goto err_unprepare_clk; 0fffed27f92d9d Joonyoung Shim 2010-07-21 424 } 0fffed27f92d9d Joonyoung Shim 2010-07-21 425 48c98b1bb85a09 Mark Brown 2011-12-29 426 device_init_wakeup(&pdev->dev, pdata->wakeup); 48c98b1bb85a09 Mark Brown 2011-12-29 427 platform_set_drvdata(pdev, keypad); 48c98b1bb85a09 Mark Brown 2011-12-29 428 pm_runtime_enable(&pdev->dev); 48c98b1bb85a09 Mark Brown 2011-12-29 429 0fffed27f92d9d Joonyoung Shim 2010-07-21 430 error = input_register_device(keypad->input_dev); 0fffed27f92d9d Joonyoung Shim 2010-07-21 431 if (error) a57da34795452b Sachin Kamat 2012-11-27 432 goto err_disable_runtime_pm; 0fffed27f92d9d Joonyoung Shim 2010-07-21 433 b3d6ac3e5f9374 Thomas Abraham 2011-11-02 434 if (pdev->dev.of_node) { b3d6ac3e5f9374 Thomas Abraham 2011-11-02 435 devm_kfree(&pdev->dev, (void *)pdata->keymap_data->keymap); b3d6ac3e5f9374 Thomas Abraham 2011-11-02 436 devm_kfree(&pdev->dev, (void *)pdata->keymap_data); b3d6ac3e5f9374 Thomas Abraham 2011-11-02 437 devm_kfree(&pdev->dev, (void *)pdata); b3d6ac3e5f9374 Thomas Abraham 2011-11-02 438 } 0fffed27f92d9d Joonyoung Shim 2010-07-21 439 return 0; 0fffed27f92d9d Joonyoung Shim 2010-07-21 440 a57da34795452b Sachin Kamat 2012-11-27 441 err_disable_runtime_pm: 48c98b1bb85a09 Mark Brown 2011-12-29 442 pm_runtime_disable(&pdev->dev); aba828cee24f48 Thomas Abraham 2012-10-04 443 err_unprepare_clk: aba828cee24f48 Thomas Abraham 2012-10-04 444 clk_unprepare(keypad->clk); 0fffed27f92d9d Joonyoung Shim 2010-07-21 445 return error; 0fffed27f92d9d Joonyoung Shim 2010-07-21 446 } 0fffed27f92d9d Joonyoung Shim 2010-07-21 447 :::::: The code at line 361 was first introduced by commit :::::: a57da34795452bbe44b55e2b69c3ab6b117cc4b4 Input: samsung-keypad - switch to using managed resources :::::: TO: Sachin Kamat <sachin.kamat@xxxxxxxxxx> :::::: CC: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx