From: kernel test robot <lkp@intel.com>
To: Kees Cook <keescook@chromium.org>
Cc: kbuild-all@lists.01.org,
Linux Memory Management List <linux-mm@kvack.org>,
Arnd Bergmann <arnd@arndb.de>,
Nathan Chancellor <nathan@kernel.org>,
Nick Desaulniers <ndesaulniers@google.com>,
Masahiro Yamada <masahiroy@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>
Subject: [linux-next:master 2450/2855] drivers/input/keyboard/samsung-keypad.c:361: undefined reference to `devm_ioremap'
Date: Fri, 28 Jan 2022 22:13:06 +0800 [thread overview]
Message-ID: <202201282217.feGQWIFA-lkp@intel.com> (raw)
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@intel.com/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@intel.com>
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@linaro.org>
:::::: CC: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
reply other threads:[~2022-01-28 14:13 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=202201282217.feGQWIFA-lkp@intel.com \
--to=lkp@intel.com \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=kbuild-all@lists.01.org \
--cc=keescook@chromium.org \
--cc=linux-mm@kvack.org \
--cc=masahiroy@kernel.org \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).