* [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.