All of lore.kernel.org
 help / color / mirror / Atom feed
* [freescale-fslc:pr/312 15428/18196] sound/soc/codecs/pcm512x.c:1658 pcm512x_probe() warn: missing error code 'ret'
@ 2021-04-20  8:32 ` Dan Carpenter
  0 siblings, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2021-04-20  8:32 UTC (permalink / raw)
  To: kbuild

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

tree:   https://github.com/Freescale/linux-fslc  pr/312
head:   98ba4471da6187346dbcc17cdf31671fb5d28b91
commit: a452c44357d9c68c27c39327e50b41e4b6cffe8d [15428/18196] MLK-25015: sound: soc: codecs: pcm512x: set input sclk
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

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;

"ret = -EINVAL;"

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  }

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

_______________________________________________
kbuild mailing list -- kbuild(a)lists.01.org
To unsubscribe send an email to kbuild-leave(a)lists.01.org

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [kbuild] [freescale-fslc:pr/312 15428/18196] sound/soc/codecs/pcm512x.c:1658 pcm512x_probe() warn: missing error code 'ret'
@ 2021-04-20  8:32 ` Dan Carpenter
  0 siblings, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2021-04-20  8:32 UTC (permalink / raw)
  To: kbuild-all

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

tree:   https://github.com/Freescale/linux-fslc  pr/312
head:   98ba4471da6187346dbcc17cdf31671fb5d28b91
commit: a452c44357d9c68c27c39327e50b41e4b6cffe8d [15428/18196] MLK-25015: sound: soc: codecs: pcm512x: set input sclk
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

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;

"ret = -EINVAL;"

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  }

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

_______________________________________________
kbuild mailing list -- kbuild(a)lists.01.org
To unsubscribe send an email to kbuild-leave(a)lists.01.org

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [freescale-fslc:pr/312 15428/18196] sound/soc/codecs/pcm512x.c:1658 pcm512x_probe() warn: missing error code 'ret'
@ 2021-04-17  9:11 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2021-04-17  9:11 UTC (permalink / raw)
  To: kbuild

[-- 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 --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-04-20  8:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
2021-04-20  8:32 ` [kbuild] " Dan Carpenter
  -- strict thread matches above, loose matches on Subject: below --
2021-04-17  9:11 kernel test robot

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.