CC: [email protected] CC: [email protected] TO: Krzysztof Kozlowski <[email protected]> CC: Ulf Hansson <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: cd1245d75ce93b8fd206f4b34eb58bcfe156d5e9 commit: 54d8454436a205682bd89d66d8d9eedbc8452d15 mmc: host: Enable compile testing of multiple drivers date: 9 months ago :::::: branch date: 5 hours ago :::::: commit date: 9 months ago config: h8300-randconfig-m031-20210608 (attached as .config) compiler: h8300-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> New smatch warnings: drivers/mmc/host/sdhci-sprd.c:593 sdhci_sprd_probe() warn: missing error code 'ret' Old smatch warnings: drivers/mmc/host/sdhci-sprd.c:390 sdhci_sprd_request_done() warn: inconsistent indenting vim +/ret +593 drivers/mmc/host/sdhci-sprd.c fb8bd90f83c4dd Chunyan Zhang 2018-08-30 545 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 546 static int sdhci_sprd_probe(struct platform_device *pdev) fb8bd90f83c4dd Chunyan Zhang 2018-08-30 547 { fb8bd90f83c4dd Chunyan Zhang 2018-08-30 548 struct sdhci_host *host; fb8bd90f83c4dd Chunyan Zhang 2018-08-30 549 struct sdhci_sprd_host *sprd_host; f4498549e1690a Baolin Wang 2020-02-12 550 struct mmc_hsq *hsq; fb8bd90f83c4dd Chunyan Zhang 2018-08-30 551 struct clk *clk; fb8bd90f83c4dd Chunyan Zhang 2018-08-30 552 int ret = 0; fb8bd90f83c4dd Chunyan Zhang 2018-08-30 553 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 554 host = sdhci_pltfm_init(pdev, &sdhci_sprd_pdata, sizeof(*sprd_host)); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 555 if (IS_ERR(host)) fb8bd90f83c4dd Chunyan Zhang 2018-08-30 556 return PTR_ERR(host); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 557 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 558 host->dma_mask = DMA_BIT_MASK(64); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 559 pdev->dev.dma_mask = &host->dma_mask; fb8bd90f83c4dd Chunyan Zhang 2018-08-30 560 host->mmc_host_ops.request = sdhci_sprd_request; 494c11e1a5366d Baolin Wang 2019-06-04 561 host->mmc_host_ops.hs400_enhanced_strobe = 494c11e1a5366d Baolin Wang 2019-06-04 562 sdhci_sprd_hs400_enhanced_strobe; eef9e0a60e78be Baolin Wang 2019-06-21 563 /* eef9e0a60e78be Baolin Wang 2019-06-21 564 * We can not use the standard ops to change and detect the voltage eef9e0a60e78be Baolin Wang 2019-06-21 565 * signal for Spreadtrum SD host controller, since our voltage regulator eef9e0a60e78be Baolin Wang 2019-06-21 566 * for I/O is fixed in hardware, that means we do not need control eef9e0a60e78be Baolin Wang 2019-06-21 567 * the standard SD host controller to change the I/O voltage. eef9e0a60e78be Baolin Wang 2019-06-21 568 */ eef9e0a60e78be Baolin Wang 2019-06-21 569 host->mmc_host_ops.start_signal_voltage_switch = eef9e0a60e78be Baolin Wang 2019-06-21 570 sdhci_sprd_voltage_switch; fb8bd90f83c4dd Chunyan Zhang 2018-08-30 571 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 572 host->mmc->caps = MMC_CAP_SD_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED | a049b5aeb7449a Ulf Hansson 2020-04-06 573 MMC_CAP_WAIT_WHILE_BUSY; a049b5aeb7449a Ulf Hansson 2020-04-06 574 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 575 ret = mmc_of_parse(host->mmc); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 576 if (ret) fb8bd90f83c4dd Chunyan Zhang 2018-08-30 577 goto pltfm_free; fb8bd90f83c4dd Chunyan Zhang 2018-08-30 578 61ab64e2f54f4c Baolin Wang 2020-04-13 579 if (!mmc_card_is_removable(host->mmc)) 61ab64e2f54f4c Baolin Wang 2020-04-13 580 host->mmc_host_ops.request_atomic = sdhci_sprd_request_atomic; 61ab64e2f54f4c Baolin Wang 2020-04-13 581 else 61ab64e2f54f4c Baolin Wang 2020-04-13 582 host->always_defer_done = true; 61ab64e2f54f4c Baolin Wang 2020-04-13 583 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 584 sprd_host = TO_SPRD_HOST(host); 5f2f4e0da2b5d4 Baolin Wang 2019-06-04 585 sdhci_sprd_phy_param_parse(sprd_host, pdev->dev.of_node); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 586 29ca763fc26f38 Baolin Wang 2019-06-21 587 sprd_host->pinctrl = devm_pinctrl_get(&pdev->dev); 29ca763fc26f38 Baolin Wang 2019-06-21 588 if (!IS_ERR(sprd_host->pinctrl)) { 29ca763fc26f38 Baolin Wang 2019-06-21 589 sprd_host->pins_uhs = 29ca763fc26f38 Baolin Wang 2019-06-21 590 pinctrl_lookup_state(sprd_host->pinctrl, "state_uhs"); 29ca763fc26f38 Baolin Wang 2019-06-21 591 if (IS_ERR(sprd_host->pins_uhs)) { 29ca763fc26f38 Baolin Wang 2019-06-21 592 ret = PTR_ERR(sprd_host->pins_uhs); 29ca763fc26f38 Baolin Wang 2019-06-21 @593 goto pltfm_free; 29ca763fc26f38 Baolin Wang 2019-06-21 594 } 29ca763fc26f38 Baolin Wang 2019-06-21 595 29ca763fc26f38 Baolin Wang 2019-06-21 596 sprd_host->pins_default = 29ca763fc26f38 Baolin Wang 2019-06-21 597 pinctrl_lookup_state(sprd_host->pinctrl, "default"); 29ca763fc26f38 Baolin Wang 2019-06-21 598 if (IS_ERR(sprd_host->pins_default)) { 29ca763fc26f38 Baolin Wang 2019-06-21 599 ret = PTR_ERR(sprd_host->pins_default); 29ca763fc26f38 Baolin Wang 2019-06-21 600 goto pltfm_free; 29ca763fc26f38 Baolin Wang 2019-06-21 601 } 29ca763fc26f38 Baolin Wang 2019-06-21 602 } 29ca763fc26f38 Baolin Wang 2019-06-21 603 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 604 clk = devm_clk_get(&pdev->dev, "sdio"); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 605 if (IS_ERR(clk)) { fb8bd90f83c4dd Chunyan Zhang 2018-08-30 606 ret = PTR_ERR(clk); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 607 goto pltfm_free; fb8bd90f83c4dd Chunyan Zhang 2018-08-30 608 } fb8bd90f83c4dd Chunyan Zhang 2018-08-30 609 sprd_host->clk_sdio = clk; fb8bd90f83c4dd Chunyan Zhang 2018-08-30 610 sprd_host->base_rate = clk_get_rate(sprd_host->clk_sdio); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 611 if (!sprd_host->base_rate) fb8bd90f83c4dd Chunyan Zhang 2018-08-30 612 sprd_host->base_rate = SDHCI_SPRD_CLK_DEF_RATE; fb8bd90f83c4dd Chunyan Zhang 2018-08-30 613 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 614 clk = devm_clk_get(&pdev->dev, "enable"); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 615 if (IS_ERR(clk)) { fb8bd90f83c4dd Chunyan Zhang 2018-08-30 616 ret = PTR_ERR(clk); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 617 goto pltfm_free; fb8bd90f83c4dd Chunyan Zhang 2018-08-30 618 } fb8bd90f83c4dd Chunyan Zhang 2018-08-30 619 sprd_host->clk_enable = clk; fb8bd90f83c4dd Chunyan Zhang 2018-08-30 620 ebd88a38dbf91c Baolin Wang 2019-06-04 621 clk = devm_clk_get(&pdev->dev, "2x_enable"); ebd88a38dbf91c Baolin Wang 2019-06-04 622 if (!IS_ERR(clk)) ebd88a38dbf91c Baolin Wang 2019-06-04 623 sprd_host->clk_2x_enable = clk; ebd88a38dbf91c Baolin Wang 2019-06-04 624 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 625 ret = clk_prepare_enable(sprd_host->clk_sdio); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 626 if (ret) fb8bd90f83c4dd Chunyan Zhang 2018-08-30 627 goto pltfm_free; fb8bd90f83c4dd Chunyan Zhang 2018-08-30 628 1d94717ddcc7bc Baolin Wang 2019-06-04 629 ret = clk_prepare_enable(sprd_host->clk_enable); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 630 if (ret) fb8bd90f83c4dd Chunyan Zhang 2018-08-30 631 goto clk_disable; fb8bd90f83c4dd Chunyan Zhang 2018-08-30 632 ebd88a38dbf91c Baolin Wang 2019-06-04 633 ret = clk_prepare_enable(sprd_host->clk_2x_enable); ebd88a38dbf91c Baolin Wang 2019-06-04 634 if (ret) ebd88a38dbf91c Baolin Wang 2019-06-04 635 goto clk_disable2; ebd88a38dbf91c Baolin Wang 2019-06-04 636 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 637 sdhci_sprd_init_config(host); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 638 host->version = sdhci_readw(host, SDHCI_HOST_VERSION); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 639 sprd_host->version = ((host->version & SDHCI_VENDOR_VER_MASK) >> fb8bd90f83c4dd Chunyan Zhang 2018-08-30 640 SDHCI_VENDOR_VER_SHIFT); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 641 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 642 pm_runtime_get_noresume(&pdev->dev); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 643 pm_runtime_set_active(&pdev->dev); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 644 pm_runtime_enable(&pdev->dev); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 645 pm_runtime_set_autosuspend_delay(&pdev->dev, 50); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 646 pm_runtime_use_autosuspend(&pdev->dev); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 647 pm_suspend_ignore_children(&pdev->dev, 1); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 648 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 649 sdhci_enable_v4_mode(host); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 650 2f765c175e1d1a Chunyan Zhang 2019-08-28 651 /* 2f765c175e1d1a Chunyan Zhang 2019-08-28 652 * Supply the existing CAPS, but clear the UHS-I modes. This 2f765c175e1d1a Chunyan Zhang 2019-08-28 653 * will allow these modes to be specified only by device 2f765c175e1d1a Chunyan Zhang 2019-08-28 654 * tree properties through mmc_of_parse(). 2f765c175e1d1a Chunyan Zhang 2019-08-28 655 */ 2f765c175e1d1a Chunyan Zhang 2019-08-28 656 host->caps = sdhci_readl(host, SDHCI_CAPABILITIES); 2f765c175e1d1a Chunyan Zhang 2019-08-28 657 host->caps1 = sdhci_readl(host, SDHCI_CAPABILITIES_1); 2f765c175e1d1a Chunyan Zhang 2019-08-28 658 host->caps1 &= ~(SDHCI_SUPPORT_SDR50 | SDHCI_SUPPORT_SDR104 | 2f765c175e1d1a Chunyan Zhang 2019-08-28 659 SDHCI_SUPPORT_DDR50); 2f765c175e1d1a Chunyan Zhang 2019-08-28 660 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 661 ret = sdhci_setup_host(host); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 662 if (ret) fb8bd90f83c4dd Chunyan Zhang 2018-08-30 663 goto pm_runtime_disable; fb8bd90f83c4dd Chunyan Zhang 2018-08-30 664 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 665 sprd_host->flags = host->flags; fb8bd90f83c4dd Chunyan Zhang 2018-08-30 666 f4498549e1690a Baolin Wang 2020-02-12 667 hsq = devm_kzalloc(&pdev->dev, sizeof(*hsq), GFP_KERNEL); f4498549e1690a Baolin Wang 2020-02-12 668 if (!hsq) { f4498549e1690a Baolin Wang 2020-02-12 669 ret = -ENOMEM; f4498549e1690a Baolin Wang 2020-02-12 670 goto err_cleanup_host; f4498549e1690a Baolin Wang 2020-02-12 671 } f4498549e1690a Baolin Wang 2020-02-12 672 f4498549e1690a Baolin Wang 2020-02-12 673 ret = mmc_hsq_init(hsq, host->mmc); f4498549e1690a Baolin Wang 2020-02-12 674 if (ret) f4498549e1690a Baolin Wang 2020-02-12 675 goto err_cleanup_host; f4498549e1690a Baolin Wang 2020-02-12 676 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 677 ret = __sdhci_add_host(host); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 678 if (ret) fb8bd90f83c4dd Chunyan Zhang 2018-08-30 679 goto err_cleanup_host; fb8bd90f83c4dd Chunyan Zhang 2018-08-30 680 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 681 pm_runtime_mark_last_busy(&pdev->dev); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 682 pm_runtime_put_autosuspend(&pdev->dev); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 683 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 684 return 0; fb8bd90f83c4dd Chunyan Zhang 2018-08-30 685 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 686 err_cleanup_host: fb8bd90f83c4dd Chunyan Zhang 2018-08-30 687 sdhci_cleanup_host(host); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 688 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 689 pm_runtime_disable: fc62113b32c959 Baolin Wang 2019-07-15 690 pm_runtime_put_noidle(&pdev->dev); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 691 pm_runtime_disable(&pdev->dev); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 692 pm_runtime_set_suspended(&pdev->dev); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 693 ebd88a38dbf91c Baolin Wang 2019-06-04 694 clk_disable_unprepare(sprd_host->clk_2x_enable); ebd88a38dbf91c Baolin Wang 2019-06-04 695 ebd88a38dbf91c Baolin Wang 2019-06-04 696 clk_disable2: fb8bd90f83c4dd Chunyan Zhang 2018-08-30 697 clk_disable_unprepare(sprd_host->clk_enable); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 698 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 699 clk_disable: fb8bd90f83c4dd Chunyan Zhang 2018-08-30 700 clk_disable_unprepare(sprd_host->clk_sdio); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 701 fb8bd90f83c4dd Chunyan Zhang 2018-08-30 702 pltfm_free: fb8bd90f83c4dd Chunyan Zhang 2018-08-30 703 sdhci_pltfm_free(pdev); fb8bd90f83c4dd Chunyan Zhang 2018-08-30 704 return ret; fb8bd90f83c4dd Chunyan Zhang 2018-08-30 705 } fb8bd90f83c4dd Chunyan Zhang 2018-08-30 706 :::::: The code at line 593 was first introduced by commit :::::: 29ca763fc26f382444887951b3443da0fa47e5fc mmc: sdhci-sprd: Add pin control support for voltage switch :::::: TO: Baolin Wang <[email protected]> :::::: CC: Ulf Hansson <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
