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]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to