Re: [PATCH v4 2/2] mmc: sdhci-of-dwcmshc: Add support for Eswin EIC7700

From: Dan Carpenter

Date: Tue Oct 14 2025 - 04:42:28 EST


Hi,

kernel test robot noticed the following build warnings:

https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/hehuan1-eswincomputing-com/dt-bindings-mmc-sdhci-of-dwcmshc-Add-Eswin-EIC7700/20251011-191312
base: linus/master
patch link: https://lore.kernel.org/r/20251011111216.570-1-hehuan1%40eswincomputing.com
patch subject: [PATCH v4 2/2] mmc: sdhci-of-dwcmshc: Add support for Eswin EIC7700
config: s390-randconfig-r073-20251013 (https://download.01.org/0day-ci/archive/20251013/202510131636.lJ5QxMpK-lkp@xxxxxxxxx/config)
compiler: s390-linux-gcc (GCC) 12.5.0

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
| Closes: https://lore.kernel.org/r/202510131636.lJ5QxMpK-lkp@xxxxxxxxx/

New smatch warnings:
drivers/mmc/host/sdhci-of-dwcmshc.c:1547 eic7700_init() warn: missing error code? 'ret'

vim +/ret +1547 drivers/mmc/host/sdhci-of-dwcmshc.c

3c5c200f02eee8 Huan He 2025-10-11 1516 static int eic7700_init(struct device *dev, struct sdhci_host *host, struct dwcmshc_priv *dwc_priv)
3c5c200f02eee8 Huan He 2025-10-11 1517 {
3c5c200f02eee8 Huan He 2025-10-11 1518 u32 emmc_caps = MMC_CAP2_NO_SD | MMC_CAP2_NO_SDIO;
3c5c200f02eee8 Huan He 2025-10-11 1519 unsigned int val, hsp_int_status, hsp_pwr_ctrl;
3c5c200f02eee8 Huan He 2025-10-11 1520 struct of_phandle_args args;
3c5c200f02eee8 Huan He 2025-10-11 1521 struct eic7700_priv *priv;
3c5c200f02eee8 Huan He 2025-10-11 1522 struct regmap *hsp_regmap;
3c5c200f02eee8 Huan He 2025-10-11 1523 int ret;
3c5c200f02eee8 Huan He 2025-10-11 1524
3c5c200f02eee8 Huan He 2025-10-11 1525 priv = devm_kzalloc(dev, sizeof(struct eic7700_priv), GFP_KERNEL);
3c5c200f02eee8 Huan He 2025-10-11 1526 if (!priv)
3c5c200f02eee8 Huan He 2025-10-11 1527 return -ENOMEM;
3c5c200f02eee8 Huan He 2025-10-11 1528
3c5c200f02eee8 Huan He 2025-10-11 1529 dwc_priv->priv = priv;
3c5c200f02eee8 Huan He 2025-10-11 1530
3c5c200f02eee8 Huan He 2025-10-11 1531 ret = sdhci_eic7700_reset_init(dev, dwc_priv->priv);
3c5c200f02eee8 Huan He 2025-10-11 1532 if (ret) {
3c5c200f02eee8 Huan He 2025-10-11 1533 dev_err(dev, "failed to reset\n");
3c5c200f02eee8 Huan He 2025-10-11 1534 return ret;
3c5c200f02eee8 Huan He 2025-10-11 1535 }
3c5c200f02eee8 Huan He 2025-10-11 1536
3c5c200f02eee8 Huan He 2025-10-11 1537 ret = of_parse_phandle_with_fixed_args(dev->of_node, "eswin,hsp-sp-csr", 2, 0, &args);
3c5c200f02eee8 Huan He 2025-10-11 1538 if (ret) {
3c5c200f02eee8 Huan He 2025-10-11 1539 dev_err(dev, "Fail to parse 'eswin,hsp-sp-csr' phandle (%d)\n", ret);
3c5c200f02eee8 Huan He 2025-10-11 1540 return ret;
3c5c200f02eee8 Huan He 2025-10-11 1541 }
3c5c200f02eee8 Huan He 2025-10-11 1542
3c5c200f02eee8 Huan He 2025-10-11 1543 hsp_regmap = syscon_node_to_regmap(args.np);
3c5c200f02eee8 Huan He 2025-10-11 1544 if (IS_ERR(hsp_regmap)) {
3c5c200f02eee8 Huan He 2025-10-11 1545 dev_err(dev, "Failed to get regmap for 'eswin,hsp-sp-csr'\n");
3c5c200f02eee8 Huan He 2025-10-11 1546 of_node_put(args.np);
3c5c200f02eee8 Huan He 2025-10-11 @1547 return ret;

return PTR_ERR(hsp_regmap);

3c5c200f02eee8 Huan He 2025-10-11 1548 }
3c5c200f02eee8 Huan He 2025-10-11 1549 hsp_int_status = args.args[0];
3c5c200f02eee8 Huan He 2025-10-11 1550 hsp_pwr_ctrl = args.args[1];
3c5c200f02eee8 Huan He 2025-10-11 1551 of_node_put(args.np);
3c5c200f02eee8 Huan He 2025-10-11 1552 /*
3c5c200f02eee8 Huan He 2025-10-11 1553 * Assert clock stability: write EIC7700_INT_CLK_STABLE to hsp_int_status.
3c5c200f02eee8 Huan He 2025-10-11 1554 * This signals to the eMMC controller that platform clocks (card, ACLK,
3c5c200f02eee8 Huan He 2025-10-11 1555 * BCLK, TMCLK) are enabled and stable.
3c5c200f02eee8 Huan He 2025-10-11 1556 */

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki