From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.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)
[-- Attachment #1: Type: text/plain, Size: 12728 bytes --]
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(a)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(a)lists.01.org
WARNING: multiple messages have this Message-ID (diff)
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
next reply other threads:[~2022-01-28 14:13 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-28 14:13 kernel test robot [this message]
2022-01-28 14:13 ` [linux-next:master 2450/2855] drivers/input/keyboard/samsung-keypad.c:361: undefined reference to `devm_ioremap' kernel test robot
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=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.