All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: [freescale-fslc:pr/312 15428/18196] sound/soc/codecs/pcm512x.c:1658 pcm512x_probe() warn: missing error code 'ret'
Date: Sat, 17 Apr 2021 17:11:53 +0800	[thread overview]
Message-ID: <202104171742.n7GLon9z-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 14756 bytes --]

CC: kbuild-all(a)lists.01.org
TO: Otavio Salvador <otavio@ossystems.com.br>

tree:   https://github.com/Freescale/linux-fslc pr/312
head:   98ba4471da6187346dbcc17cdf31671fb5d28b91
commit: a452c44357d9c68c27c39327e50b41e4b6cffe8d [15428/18196] MLK-25015: sound: soc: codecs: pcm512x: set input sclk
:::::: branch date: 11 hours ago
:::::: commit date: 5 months ago
config: x86_64-randconfig-m001-20210416 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
sound/soc/codecs/pcm512x.c:1658 pcm512x_probe() warn: missing error code 'ret'

vim +/ret +1658 sound/soc/codecs/pcm512x.c

5a3af1293194d0 Mark Brown            2014-02-06  1554  
22066226b50e40 Mark Brown            2014-03-07  1555  int pcm512x_probe(struct device *dev, struct regmap *regmap)
5a3af1293194d0 Mark Brown            2014-02-06  1556  {
5a3af1293194d0 Mark Brown            2014-02-06  1557  	struct pcm512x_priv *pcm512x;
a452c44357d9c6 Adrian Alonso         2020-11-16  1558  	char clk_name[8];
5a3af1293194d0 Mark Brown            2014-02-06  1559  	int i, ret;
5a3af1293194d0 Mark Brown            2014-02-06  1560  
5a3af1293194d0 Mark Brown            2014-02-06  1561  	pcm512x = devm_kzalloc(dev, sizeof(struct pcm512x_priv), GFP_KERNEL);
5a3af1293194d0 Mark Brown            2014-02-06  1562  	if (!pcm512x)
5a3af1293194d0 Mark Brown            2014-02-06  1563  		return -ENOMEM;
5a3af1293194d0 Mark Brown            2014-02-06  1564  
3500f1c589e92e Dimitris Papavasiliou 2018-11-24  1565  	mutex_init(&pcm512x->mutex);
3500f1c589e92e Dimitris Papavasiliou 2018-11-24  1566  
5a3af1293194d0 Mark Brown            2014-02-06  1567  	dev_set_drvdata(dev, pcm512x);
5a3af1293194d0 Mark Brown            2014-02-06  1568  	pcm512x->regmap = regmap;
5a3af1293194d0 Mark Brown            2014-02-06  1569  
5a3af1293194d0 Mark Brown            2014-02-06  1570  	for (i = 0; i < ARRAY_SIZE(pcm512x->supplies); i++)
5a3af1293194d0 Mark Brown            2014-02-06  1571  		pcm512x->supplies[i].supply = pcm512x_supply_names[i];
5a3af1293194d0 Mark Brown            2014-02-06  1572  
5a3af1293194d0 Mark Brown            2014-02-06  1573  	ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(pcm512x->supplies),
5a3af1293194d0 Mark Brown            2014-02-06  1574  				      pcm512x->supplies);
5a3af1293194d0 Mark Brown            2014-02-06  1575  	if (ret != 0) {
5a3af1293194d0 Mark Brown            2014-02-06  1576  		dev_err(dev, "Failed to get supplies: %d\n", ret);
5a3af1293194d0 Mark Brown            2014-02-06  1577  		return ret;
5a3af1293194d0 Mark Brown            2014-02-06  1578  	}
5a3af1293194d0 Mark Brown            2014-02-06  1579  
5a3af1293194d0 Mark Brown            2014-02-06  1580  	pcm512x->supply_nb[0].notifier_call = pcm512x_regulator_event_0;
5a3af1293194d0 Mark Brown            2014-02-06  1581  	pcm512x->supply_nb[1].notifier_call = pcm512x_regulator_event_1;
5a3af1293194d0 Mark Brown            2014-02-06  1582  	pcm512x->supply_nb[2].notifier_call = pcm512x_regulator_event_2;
5a3af1293194d0 Mark Brown            2014-02-06  1583  
5a3af1293194d0 Mark Brown            2014-02-06  1584  	for (i = 0; i < ARRAY_SIZE(pcm512x->supplies); i++) {
0bb423f2eaafed Guennadi Liakhovetski 2019-02-08  1585  		ret = devm_regulator_register_notifier(
0bb423f2eaafed Guennadi Liakhovetski 2019-02-08  1586  						pcm512x->supplies[i].consumer,
5a3af1293194d0 Mark Brown            2014-02-06  1587  						&pcm512x->supply_nb[i]);
5a3af1293194d0 Mark Brown            2014-02-06  1588  		if (ret != 0) {
5a3af1293194d0 Mark Brown            2014-02-06  1589  			dev_err(dev,
5a3af1293194d0 Mark Brown            2014-02-06  1590  				"Failed to register regulator notifier: %d\n",
5a3af1293194d0 Mark Brown            2014-02-06  1591  				ret);
5a3af1293194d0 Mark Brown            2014-02-06  1592  		}
5a3af1293194d0 Mark Brown            2014-02-06  1593  	}
5a3af1293194d0 Mark Brown            2014-02-06  1594  
5a3af1293194d0 Mark Brown            2014-02-06  1595  	ret = regulator_bulk_enable(ARRAY_SIZE(pcm512x->supplies),
5a3af1293194d0 Mark Brown            2014-02-06  1596  				    pcm512x->supplies);
5a3af1293194d0 Mark Brown            2014-02-06  1597  	if (ret != 0) {
5a3af1293194d0 Mark Brown            2014-02-06  1598  		dev_err(dev, "Failed to enable supplies: %d\n", ret);
5a3af1293194d0 Mark Brown            2014-02-06  1599  		return ret;
5a3af1293194d0 Mark Brown            2014-02-06  1600  	}
5a3af1293194d0 Mark Brown            2014-02-06  1601  
5a3af1293194d0 Mark Brown            2014-02-06  1602  	/* Reset the device, verifying I/O in the process for I2C */
5a3af1293194d0 Mark Brown            2014-02-06  1603  	ret = regmap_write(regmap, PCM512x_RESET,
5a3af1293194d0 Mark Brown            2014-02-06  1604  			   PCM512x_RSTM | PCM512x_RSTR);
5a3af1293194d0 Mark Brown            2014-02-06  1605  	if (ret != 0) {
5a3af1293194d0 Mark Brown            2014-02-06  1606  		dev_err(dev, "Failed to reset device: %d\n", ret);
5a3af1293194d0 Mark Brown            2014-02-06  1607  		goto err;
5a3af1293194d0 Mark Brown            2014-02-06  1608  	}
5a3af1293194d0 Mark Brown            2014-02-06  1609  
5a3af1293194d0 Mark Brown            2014-02-06  1610  	ret = regmap_write(regmap, PCM512x_RESET, 0);
5a3af1293194d0 Mark Brown            2014-02-06  1611  	if (ret != 0) {
5a3af1293194d0 Mark Brown            2014-02-06  1612  		dev_err(dev, "Failed to reset device: %d\n", ret);
5a3af1293194d0 Mark Brown            2014-02-06  1613  		goto err;
5a3af1293194d0 Mark Brown            2014-02-06  1614  	}
5a3af1293194d0 Mark Brown            2014-02-06  1615  
a452c44357d9c6 Adrian Alonso         2020-11-16  1616  	/* default to first sclk */
a452c44357d9c6 Adrian Alonso         2020-11-16  1617  	pcm512x->num_clocks = 1;
a452c44357d9c6 Adrian Alonso         2020-11-16  1618  	pcm512x->sclk_src = PCM512x_SYSCLK_MCLK1;
a452c44357d9c6 Adrian Alonso         2020-11-16  1619  
a452c44357d9c6 Adrian Alonso         2020-11-16  1620  	pcm512x->sclk[0] = devm_clk_get(dev, NULL);
a452c44357d9c6 Adrian Alonso         2020-11-16  1621  	if (PTR_ERR(pcm512x->sclk[0]) == -EPROBE_DEFER) {
94c472e7b4e15e Matthias Reichl       2020-02-20  1622  		ret = -EPROBE_DEFER;
94c472e7b4e15e Matthias Reichl       2020-02-20  1623  		goto err;
94c472e7b4e15e Matthias Reichl       2020-02-20  1624  	}
a452c44357d9c6 Adrian Alonso         2020-11-16  1625  
a452c44357d9c6 Adrian Alonso         2020-11-16  1626  	if (!IS_ERR(pcm512x->sclk[0])) {
a452c44357d9c6 Adrian Alonso         2020-11-16  1627  		ret = clk_prepare_enable(pcm512x->sclk[0]);
5a3af1293194d0 Mark Brown            2014-02-06  1628  		if (ret != 0) {
5a3af1293194d0 Mark Brown            2014-02-06  1629  			dev_err(dev, "Failed to enable SCLK: %d\n", ret);
94c472e7b4e15e Matthias Reichl       2020-02-20  1630  			goto err;
5a3af1293194d0 Mark Brown            2014-02-06  1631  		}
5a3af1293194d0 Mark Brown            2014-02-06  1632  	}
5a3af1293194d0 Mark Brown            2014-02-06  1633  
5a3af1293194d0 Mark Brown            2014-02-06  1634  	/* Default to standby mode */
5a3af1293194d0 Mark Brown            2014-02-06  1635  	ret = regmap_update_bits(pcm512x->regmap, PCM512x_POWER,
5a3af1293194d0 Mark Brown            2014-02-06  1636  				 PCM512x_RQST, PCM512x_RQST);
5a3af1293194d0 Mark Brown            2014-02-06  1637  	if (ret != 0) {
5a3af1293194d0 Mark Brown            2014-02-06  1638  		dev_err(dev, "Failed to request standby: %d\n",
5a3af1293194d0 Mark Brown            2014-02-06  1639  			ret);
5a3af1293194d0 Mark Brown            2014-02-06  1640  		goto err_clk;
5a3af1293194d0 Mark Brown            2014-02-06  1641  	}
5a3af1293194d0 Mark Brown            2014-02-06  1642  
5a3af1293194d0 Mark Brown            2014-02-06  1643  	pm_runtime_set_active(dev);
5a3af1293194d0 Mark Brown            2014-02-06  1644  	pm_runtime_enable(dev);
5a3af1293194d0 Mark Brown            2014-02-06  1645  	pm_runtime_idle(dev);
5a3af1293194d0 Mark Brown            2014-02-06  1646  
f086ba9d5389cc Peter Rosin           2015-01-28  1647  #ifdef CONFIG_OF
f086ba9d5389cc Peter Rosin           2015-01-28  1648  	if (dev->of_node) {
f086ba9d5389cc Peter Rosin           2015-01-28  1649  		const struct device_node *np = dev->of_node;
2599a9609c588d Peter Rosin           2015-01-29  1650  		u32 val;
f086ba9d5389cc Peter Rosin           2015-01-28  1651  
a452c44357d9c6 Adrian Alonso         2020-11-16  1652  		if (of_property_read_bool(np, "clocks")) {
a452c44357d9c6 Adrian Alonso         2020-11-16  1653  			pcm512x->num_clocks =
a452c44357d9c6 Adrian Alonso         2020-11-16  1654  				of_property_count_u32_elems(np, "clocks");
a452c44357d9c6 Adrian Alonso         2020-11-16  1655  			if (pcm512x->num_clocks > PCM512x_MAX_NUM_SCLK) {
a452c44357d9c6 Adrian Alonso         2020-11-16  1656  				dev_err(dev, "Failed unsupported max sclk: %d\n",
a452c44357d9c6 Adrian Alonso         2020-11-16  1657  					pcm512x->num_clocks);
a452c44357d9c6 Adrian Alonso         2020-11-16 @1658  				goto err;
a452c44357d9c6 Adrian Alonso         2020-11-16  1659  			}
a452c44357d9c6 Adrian Alonso         2020-11-16  1660  
a452c44357d9c6 Adrian Alonso         2020-11-16  1661  			for (i = 0; i < pcm512x->num_clocks; i++) {
a452c44357d9c6 Adrian Alonso         2020-11-16  1662  				sprintf(clk_name, "sclk%d", i);
a452c44357d9c6 Adrian Alonso         2020-11-16  1663  				pcm512x->sclk[i] = devm_clk_get(dev, clk_name);
a452c44357d9c6 Adrian Alonso         2020-11-16  1664  
a452c44357d9c6 Adrian Alonso         2020-11-16  1665  				if (IS_ERR(pcm512x->sclk[i])) {
a452c44357d9c6 Adrian Alonso         2020-11-16  1666  					dev_info(dev, "Failed to get sclk%d\n", i);
a452c44357d9c6 Adrian Alonso         2020-11-16  1667  					pcm512x->sclk[i] = NULL;
a452c44357d9c6 Adrian Alonso         2020-11-16  1668  				}
a452c44357d9c6 Adrian Alonso         2020-11-16  1669  			}
a452c44357d9c6 Adrian Alonso         2020-11-16  1670  		}
a452c44357d9c6 Adrian Alonso         2020-11-16  1671  
f086ba9d5389cc Peter Rosin           2015-01-28  1672  		if (of_property_read_u32(np, "pll-in", &val) >= 0) {
f086ba9d5389cc Peter Rosin           2015-01-28  1673  			if (val > 6) {
f086ba9d5389cc Peter Rosin           2015-01-28  1674  				dev_err(dev, "Invalid pll-in\n");
f086ba9d5389cc Peter Rosin           2015-01-28  1675  				ret = -EINVAL;
f086ba9d5389cc Peter Rosin           2015-01-28  1676  				goto err_clk;
f086ba9d5389cc Peter Rosin           2015-01-28  1677  			}
f086ba9d5389cc Peter Rosin           2015-01-28  1678  			pcm512x->pll_in = val;
f086ba9d5389cc Peter Rosin           2015-01-28  1679  		}
f086ba9d5389cc Peter Rosin           2015-01-28  1680  
f086ba9d5389cc Peter Rosin           2015-01-28  1681  		if (of_property_read_u32(np, "pll-out", &val) >= 0) {
f086ba9d5389cc Peter Rosin           2015-01-28  1682  			if (val > 6) {
f086ba9d5389cc Peter Rosin           2015-01-28  1683  				dev_err(dev, "Invalid pll-out\n");
f086ba9d5389cc Peter Rosin           2015-01-28  1684  				ret = -EINVAL;
f086ba9d5389cc Peter Rosin           2015-01-28  1685  				goto err_clk;
f086ba9d5389cc Peter Rosin           2015-01-28  1686  			}
f086ba9d5389cc Peter Rosin           2015-01-28  1687  			pcm512x->pll_out = val;
f086ba9d5389cc Peter Rosin           2015-01-28  1688  		}
f086ba9d5389cc Peter Rosin           2015-01-28  1689  
f086ba9d5389cc Peter Rosin           2015-01-28  1690  		if (!pcm512x->pll_in != !pcm512x->pll_out) {
f086ba9d5389cc Peter Rosin           2015-01-28  1691  			dev_err(dev,
f086ba9d5389cc Peter Rosin           2015-01-28  1692  				"Error: both pll-in and pll-out, or none\n");
f086ba9d5389cc Peter Rosin           2015-01-28  1693  			ret = -EINVAL;
f086ba9d5389cc Peter Rosin           2015-01-28  1694  			goto err_clk;
f086ba9d5389cc Peter Rosin           2015-01-28  1695  		}
f086ba9d5389cc Peter Rosin           2015-01-28  1696  		if (pcm512x->pll_in && pcm512x->pll_in == pcm512x->pll_out) {
f086ba9d5389cc Peter Rosin           2015-01-28  1697  			dev_err(dev, "Error: pll-in == pll-out\n");
f086ba9d5389cc Peter Rosin           2015-01-28  1698  			ret = -EINVAL;
f086ba9d5389cc Peter Rosin           2015-01-28  1699  			goto err_clk;
f086ba9d5389cc Peter Rosin           2015-01-28  1700  		}
f086ba9d5389cc Peter Rosin           2015-01-28  1701  	}
f086ba9d5389cc Peter Rosin           2015-01-28  1702  #endif
f086ba9d5389cc Peter Rosin           2015-01-28  1703  
5bdef14a35bb99 Kuninori Morimoto     2018-01-29  1704  	ret = devm_snd_soc_register_component(dev, &pcm512x_component_driver,
5a3af1293194d0 Mark Brown            2014-02-06  1705  				    &pcm512x_dai, 1);
5a3af1293194d0 Mark Brown            2014-02-06  1706  	if (ret != 0) {
5a3af1293194d0 Mark Brown            2014-02-06  1707  		dev_err(dev, "Failed to register CODEC: %d\n", ret);
5a3af1293194d0 Mark Brown            2014-02-06  1708  		goto err_pm;
5a3af1293194d0 Mark Brown            2014-02-06  1709  	}
5a3af1293194d0 Mark Brown            2014-02-06  1710  
5a3af1293194d0 Mark Brown            2014-02-06  1711  	return 0;
5a3af1293194d0 Mark Brown            2014-02-06  1712  
5a3af1293194d0 Mark Brown            2014-02-06  1713  err_pm:
5a3af1293194d0 Mark Brown            2014-02-06  1714  	pm_runtime_disable(dev);
5a3af1293194d0 Mark Brown            2014-02-06  1715  err_clk:
a452c44357d9c6 Adrian Alonso         2020-11-16  1716  	for (i = 0; i < pcm512x->num_clocks; i++) {
a452c44357d9c6 Adrian Alonso         2020-11-16  1717  		if (!IS_ERR(pcm512x->sclk[i]))
a452c44357d9c6 Adrian Alonso         2020-11-16  1718  			clk_disable_unprepare(pcm512x->sclk[i]);
a452c44357d9c6 Adrian Alonso         2020-11-16  1719  	}
5a3af1293194d0 Mark Brown            2014-02-06  1720  err:
5a3af1293194d0 Mark Brown            2014-02-06  1721  	regulator_bulk_disable(ARRAY_SIZE(pcm512x->supplies),
5a3af1293194d0 Mark Brown            2014-02-06  1722  				     pcm512x->supplies);
5a3af1293194d0 Mark Brown            2014-02-06  1723  	return ret;
5a3af1293194d0 Mark Brown            2014-02-06  1724  }
22066226b50e40 Mark Brown            2014-03-07  1725  EXPORT_SYMBOL_GPL(pcm512x_probe);
5a3af1293194d0 Mark Brown            2014-02-06  1726  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 34546 bytes --]

             reply	other threads:[~2021-04-17  9:11 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-17  9:11 kernel test robot [this message]
2021-04-20  8:32 [freescale-fslc:pr/312 15428/18196] sound/soc/codecs/pcm512x.c:1658 pcm512x_probe() warn: missing error code 'ret' Dan Carpenter

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=202104171742.n7GLon9z-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@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.