tree:
https://github.com/thierryreding/linux for-5.9/dt-bindings
head: a8e9533e6a32026d9f747d0364c5f486fcf2f762
commit: 620cff738f6aa3b4da5ddfae5a9ef4a1812a63c7 [162/166] gpu: host1x: Register child
devices
config: arm64-randconfig-r026-20200612 (attached as .config)
compiler: clang version 11.0.0 (
https://github.com/llvm/llvm-project
d7e6f116f4517952fbdf5ad4b5ff67e378600c60)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
git checkout 620cff738f6aa3b4da5ddfae5a9ef4a1812a63c7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
> drivers/gpu/host1x/dev.c:471:8: error: use of undeclared label
'deinit_debugfs'
goto deinit_debugfs;
^
1 error generated.
vim +/deinit_debugfs +471 drivers/gpu/host1x/dev.c
06867a362de08f Thierry Reding 2019-10-28 343
754716874389cc Terje Bergstrom 2013-03-22 344 static int host1x_probe(struct
platform_device *pdev)
754716874389cc Terje Bergstrom 2013-03-22 345 {
754716874389cc Terje Bergstrom 2013-03-22 346 struct host1x *host;
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 347 struct resource *regs, *hv_regs =
NULL;
754716874389cc Terje Bergstrom 2013-03-22 348 int syncpt_irq;
754716874389cc Terje Bergstrom 2013-03-22 349 int err;
754716874389cc Terje Bergstrom 2013-03-22 350
6a341fdff16e13 Thierry Reding 2017-08-21 351 host =
devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
6a341fdff16e13 Thierry Reding 2017-08-21 352 if (!host)
6a341fdff16e13 Thierry Reding 2017-08-21 353 return -ENOMEM;
6a341fdff16e13 Thierry Reding 2017-08-21 354
6a341fdff16e13 Thierry Reding 2017-08-21 355 host->info =
of_device_get_match_data(&pdev->dev);
754716874389cc Terje Bergstrom 2013-03-22 356
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 357 if (host->info->has_hypervisor)
{
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 358 regs =
platform_get_resource_byname(pdev, IORESOURCE_MEM, "vm");
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 359 if (!regs) {
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 360 dev_err(&pdev->dev,
"failed to get vm registers\n");
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 361 return -ENXIO;
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 362 }
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 363
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 364 hv_regs =
platform_get_resource_byname(pdev, IORESOURCE_MEM,
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 365 "hypervisor");
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 366 if (!hv_regs) {
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 367 dev_err(&pdev->dev,
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 368 "failed to get hypervisor
registers\n");
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 369 return -ENXIO;
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 370 }
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 371 } else {
754716874389cc Terje Bergstrom 2013-03-22 372 regs = platform_get_resource(pdev,
IORESOURCE_MEM, 0);
754716874389cc Terje Bergstrom 2013-03-22 373 if (!regs) {
754716874389cc Terje Bergstrom 2013-03-22 374 dev_err(&pdev->dev,
"failed to get registers\n");
754716874389cc Terje Bergstrom 2013-03-22 375 return -ENXIO;
754716874389cc Terje Bergstrom 2013-03-22 376 }
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 377 }
754716874389cc Terje Bergstrom 2013-03-22 378
754716874389cc Terje Bergstrom 2013-03-22 379 syncpt_irq = platform_get_irq(pdev,
0);
033ccdb7f6b117 YueHaibing 2019-11-02 380 if (syncpt_irq < 0)
7b2c63de20080c Gustavo A. R. Silva 2017-08-08 381 return syncpt_irq;
754716874389cc Terje Bergstrom 2013-03-22 382
776dc38403676f Thierry Reding 2013-10-14 383
mutex_init(&host->devices_lock);
776dc38403676f Thierry Reding 2013-10-14 384
INIT_LIST_HEAD(&host->devices);
776dc38403676f Thierry Reding 2013-10-14 385 INIT_LIST_HEAD(&host->list);
754716874389cc Terje Bergstrom 2013-03-22 386 host->dev = &pdev->dev;
754716874389cc Terje Bergstrom 2013-03-22 387
754716874389cc Terje Bergstrom 2013-03-22 388 /* set common host1x device data */
754716874389cc Terje Bergstrom 2013-03-22 389 platform_set_drvdata(pdev, host);
754716874389cc Terje Bergstrom 2013-03-22 390
754716874389cc Terje Bergstrom 2013-03-22 391 host->regs =
devm_ioremap_resource(&pdev->dev, regs);
754716874389cc Terje Bergstrom 2013-03-22 392 if (IS_ERR(host->regs))
754716874389cc Terje Bergstrom 2013-03-22 393 return PTR_ERR(host->regs);
754716874389cc Terje Bergstrom 2013-03-22 394
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 395 if (host->info->has_hypervisor)
{
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 396 host->hv_regs =
devm_ioremap_resource(&pdev->dev, hv_regs);
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 397 if (IS_ERR(host->hv_regs))
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 398 return PTR_ERR(host->hv_regs);
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 399 }
f1b53c4e2c08cb Mikko Perttunen 2017-09-05 400
d98914ebc2af45 Thierry Reding 2019-09-09 401 host->dev->dma_parms =
&host->dma_parms;
d98914ebc2af45 Thierry Reding 2019-09-09 402 dma_set_max_seg_size(host->dev,
UINT_MAX);
d98914ebc2af45 Thierry Reding 2019-09-09 403
754716874389cc Terje Bergstrom 2013-03-22 404 if (host->info->init) {
754716874389cc Terje Bergstrom 2013-03-22 405 err = host->info->init(host);
754716874389cc Terje Bergstrom 2013-03-22 406 if (err)
754716874389cc Terje Bergstrom 2013-03-22 407 return err;
754716874389cc Terje Bergstrom 2013-03-22 408 }
754716874389cc Terje Bergstrom 2013-03-22 409
754716874389cc Terje Bergstrom 2013-03-22 410 host->clk =
devm_clk_get(&pdev->dev, NULL);
754716874389cc Terje Bergstrom 2013-03-22 411 if (IS_ERR(host->clk)) {
754716874389cc Terje Bergstrom 2013-03-22 412 err = PTR_ERR(host->clk);
4bb923e8075f3a Thierry Reding 2019-06-04 413
4bb923e8075f3a Thierry Reding 2019-06-04 414 if (err != -EPROBE_DEFER)
4bb923e8075f3a Thierry Reding 2019-06-04 415 dev_err(&pdev->dev,
"failed to get clock: %d\n", err);
4bb923e8075f3a Thierry Reding 2019-06-04 416
754716874389cc Terje Bergstrom 2013-03-22 417 return err;
754716874389cc Terje Bergstrom 2013-03-22 418 }
754716874389cc Terje Bergstrom 2013-03-22 419
b386c6b73ac6c2 Thierry Reding 2017-03-21 420 host->rst =
devm_reset_control_get(&pdev->dev, "host1x");
b386c6b73ac6c2 Thierry Reding 2017-03-21 421 if (IS_ERR(host->rst)) {
59e04bc20de4bd Christophe JAILLET 2017-04-10 422 err = PTR_ERR(host->rst);
b386c6b73ac6c2 Thierry Reding 2017-03-21 423 dev_err(&pdev->dev,
"failed to get reset: %d\n", err);
b386c6b73ac6c2 Thierry Reding 2017-03-21 424 return err;
b386c6b73ac6c2 Thierry Reding 2017-03-21 425 }
af1cbfb9bf0fe0 Thierry Reding 2019-10-28 426
06867a362de08f Thierry Reding 2019-10-28 427 err = host1x_iommu_init(host);
06867a362de08f Thierry Reding 2019-10-28 428 if (err < 0) {
06867a362de08f Thierry Reding 2019-10-28 429 dev_err(&pdev->dev,
"failed to setup IOMMU: %d\n", err);
06867a362de08f Thierry Reding 2019-10-28 430 return err;
404bfb78daf3be Mikko Perttunen 2016-12-14 431 }
404bfb78daf3be Mikko Perttunen 2016-12-14 432
8474b02531c488 Mikko Perttunen 2017-06-15 433 err =
host1x_channel_list_init(&host->channel_list,
8474b02531c488 Mikko Perttunen 2017-06-15 434
host->info->nb_channels);
6579324a41cc41 Terje Bergstrom 2013-03-22 435 if (err) {
6579324a41cc41 Terje Bergstrom 2013-03-22 436 dev_err(&pdev->dev,
"failed to initialize channel list\n");
06867a362de08f Thierry Reding 2019-10-28 437 goto iommu_exit;
6579324a41cc41 Terje Bergstrom 2013-03-22 438 }
6579324a41cc41 Terje Bergstrom 2013-03-22 439
754716874389cc Terje Bergstrom 2013-03-22 440 err =
clk_prepare_enable(host->clk);
754716874389cc Terje Bergstrom 2013-03-22 441 if (err < 0) {
754716874389cc Terje Bergstrom 2013-03-22 442 dev_err(&pdev->dev,
"failed to enable clock\n");
06867a362de08f Thierry Reding 2019-10-28 443 goto free_channels;
754716874389cc Terje Bergstrom 2013-03-22 444 }
754716874389cc Terje Bergstrom 2013-03-22 445
b386c6b73ac6c2 Thierry Reding 2017-03-21 446 err =
reset_control_deassert(host->rst);
b386c6b73ac6c2 Thierry Reding 2017-03-21 447 if (err < 0) {
b386c6b73ac6c2 Thierry Reding 2017-03-21 448 dev_err(&pdev->dev,
"failed to deassert reset: %d\n", err);
06867a362de08f Thierry Reding 2019-10-28 449 goto unprepare_disable;
b386c6b73ac6c2 Thierry Reding 2017-03-21 450 }
b386c6b73ac6c2 Thierry Reding 2017-03-21 451
754716874389cc Terje Bergstrom 2013-03-22 452 err = host1x_syncpt_init(host);
754716874389cc Terje Bergstrom 2013-03-22 453 if (err) {
754716874389cc Terje Bergstrom 2013-03-22 454 dev_err(&pdev->dev,
"failed to initialize syncpts\n");
06867a362de08f Thierry Reding 2019-10-28 455 goto reset_assert;
754716874389cc Terje Bergstrom 2013-03-22 456 }
754716874389cc Terje Bergstrom 2013-03-22 457
7ede0b0bf3e259 Terje Bergstrom 2013-03-22 458 err = host1x_intr_init(host,
syncpt_irq);
7ede0b0bf3e259 Terje Bergstrom 2013-03-22 459 if (err) {
7ede0b0bf3e259 Terje Bergstrom 2013-03-22 460 dev_err(&pdev->dev,
"failed to initialize interrupts\n");
06867a362de08f Thierry Reding 2019-10-28 461 goto deinit_syncpt;
7ede0b0bf3e259 Terje Bergstrom 2013-03-22 462 }
7ede0b0bf3e259 Terje Bergstrom 2013-03-22 463
6236451d83a720 Terje Bergstrom 2013-03-22 464 host1x_debug_init(host);
6236451d83a720 Terje Bergstrom 2013-03-22 465
6841482b82e5ba Thierry Reding 2019-02-01 466 if
(host->info->has_hypervisor)
6841482b82e5ba Thierry Reding 2019-02-01 467 host1x_setup_sid_table(host);
6841482b82e5ba Thierry Reding 2019-02-01 468
776dc38403676f Thierry Reding 2013-10-14 469 err = host1x_register(host);
776dc38403676f Thierry Reding 2013-10-14 470 if (err < 0)
f3fc6ea68bb909 Christophe JAILLET 2020-04-26 @471 goto deinit_debugfs;
692e6d7be80992 Terje Bergstrom 2013-03-22 472
620cff738f6aa3 Thierry Reding 2020-06-12 473 err =
devm_of_platform_populate(&pdev->dev);
620cff738f6aa3 Thierry Reding 2020-06-12 474 if (err < 0)
620cff738f6aa3 Thierry Reding 2020-06-12 475 goto unregister;
620cff738f6aa3 Thierry Reding 2020-06-12 476
754716874389cc Terje Bergstrom 2013-03-22 477 return 0;
7ede0b0bf3e259 Terje Bergstrom 2013-03-22 478
620cff738f6aa3 Thierry Reding 2020-06-12 479 unregister:
620cff738f6aa3 Thierry Reding 2020-06-12 480 host1x_unregister(host);
620cff738f6aa3 Thierry Reding 2020-06-12 481 deinit_intr:
f3fc6ea68bb909 Christophe JAILLET 2020-04-26 482 host1x_debug_deinit(host);
776dc38403676f Thierry Reding 2013-10-14 483 host1x_intr_deinit(host);
06867a362de08f Thierry Reding 2019-10-28 484 deinit_syncpt:
7ede0b0bf3e259 Terje Bergstrom 2013-03-22 485 host1x_syncpt_deinit(host);
06867a362de08f Thierry Reding 2019-10-28 486 reset_assert:
b386c6b73ac6c2 Thierry Reding 2017-03-21 487 reset_control_assert(host->rst);
06867a362de08f Thierry Reding 2019-10-28 488 unprepare_disable:
9c78c4c38e2c18 Wei Yongjun 2013-10-21 489 clk_disable_unprepare(host->clk);
06867a362de08f Thierry Reding 2019-10-28 490 free_channels:
8474b02531c488 Mikko Perttunen 2017-06-15 491
host1x_channel_list_free(&host->channel_list);
06867a362de08f Thierry Reding 2019-10-28 492 iommu_exit:
06867a362de08f Thierry Reding 2019-10-28 493 host1x_iommu_exit(host);
404bfb78daf3be Mikko Perttunen 2016-12-14 494
7ede0b0bf3e259 Terje Bergstrom 2013-03-22 495 return err;
754716874389cc Terje Bergstrom 2013-03-22 496 }
754716874389cc Terje Bergstrom 2013-03-22 497
:::::: The code at line 471 was first introduced by commit
:::::: f3fc6ea68bb9092594d015f36b94e3d830f0a04e gpu: host1x: Clean up debugfs in error
handling path
:::::: TO: Christophe JAILLET <christophe.jaillet(a)wanadoo.fr>
:::::: CC: Thierry Reding <treding(a)nvidia.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org