Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

iio: adc: stm32: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20200829064726.26268-8-krzk@kernel.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

authored by

Krzysztof Kozlowski and committed by
Jonathan Cameron
ce30eeb6 6d2710ce

+33 -72
+23 -48
drivers/iio/adc/stm32-adc-core.c
··· 582 582 priv->syscfg = syscon_regmap_lookup_by_phandle(np, "st,syscfg"); 583 583 if (IS_ERR(priv->syscfg)) { 584 584 ret = PTR_ERR(priv->syscfg); 585 - if (ret != -ENODEV) { 586 - if (ret != -EPROBE_DEFER) 587 - dev_err(dev, "Can't probe syscfg: %d\n", ret); 588 - return ret; 589 - } 585 + if (ret != -ENODEV) 586 + return dev_err_probe(dev, ret, "Can't probe syscfg\n"); 587 + 590 588 priv->syscfg = NULL; 591 589 } 592 590 ··· 594 596 priv->booster = devm_regulator_get_optional(dev, "booster"); 595 597 if (IS_ERR(priv->booster)) { 596 598 ret = PTR_ERR(priv->booster); 597 - if (ret != -ENODEV) { 598 - if (ret != -EPROBE_DEFER) 599 - dev_err(dev, "can't get booster %d\n", 600 - ret); 601 - return ret; 602 - } 599 + if (ret != -ENODEV) 600 + dev_err_probe(dev, ret, "can't get booster\n"); 601 + 603 602 priv->booster = NULL; 604 603 } 605 604 } ··· 607 612 priv->vdd = devm_regulator_get_optional(dev, "vdd"); 608 613 if (IS_ERR(priv->vdd)) { 609 614 ret = PTR_ERR(priv->vdd); 610 - if (ret != -ENODEV) { 611 - if (ret != -EPROBE_DEFER) 612 - dev_err(dev, "can't get vdd %d\n", ret); 613 - return ret; 614 - } 615 + if (ret != -ENODEV) 616 + return dev_err_probe(dev, ret, "can't get vdd\n"); 617 + 615 618 priv->vdd = NULL; 616 619 } 617 620 } ··· 662 669 priv->common.phys_base = res->start; 663 670 664 671 priv->vdda = devm_regulator_get(&pdev->dev, "vdda"); 665 - if (IS_ERR(priv->vdda)) { 666 - ret = PTR_ERR(priv->vdda); 667 - if (ret != -EPROBE_DEFER) 668 - dev_err(&pdev->dev, "vdda get failed, %d\n", ret); 669 - return ret; 670 - } 672 + if (IS_ERR(priv->vdda)) 673 + return dev_err_probe(&pdev->dev, PTR_ERR(priv->vdda), 674 + "vdda get failed\n"); 671 675 672 676 priv->vref = devm_regulator_get(&pdev->dev, "vref"); 673 - if (IS_ERR(priv->vref)) { 674 - ret = PTR_ERR(priv->vref); 675 - if (ret != -EPROBE_DEFER) 676 - dev_err(&pdev->dev, "vref get failed, %d\n", ret); 677 - return ret; 678 - } 677 + if (IS_ERR(priv->vref)) 678 + return dev_err_probe(&pdev->dev, PTR_ERR(priv->vref), 679 + "vref get failed\n"); 679 680 680 - priv->aclk = devm_clk_get(&pdev->dev, "adc"); 681 - if (IS_ERR(priv->aclk)) { 682 - ret = PTR_ERR(priv->aclk); 683 - if (ret != -ENOENT) { 684 - if (ret != -EPROBE_DEFER) 685 - dev_err(&pdev->dev, "Can't get 'adc' clock\n"); 686 - return ret; 687 - } 688 - priv->aclk = NULL; 689 - } 681 + priv->aclk = devm_clk_get_optional(&pdev->dev, "adc"); 682 + if (IS_ERR(priv->aclk)) 683 + return dev_err_probe(&pdev->dev, PTR_ERR(priv->aclk), 684 + "Can't get 'adc' clock\n"); 690 685 691 - priv->bclk = devm_clk_get(&pdev->dev, "bus"); 692 - if (IS_ERR(priv->bclk)) { 693 - ret = PTR_ERR(priv->bclk); 694 - if (ret != -ENOENT) { 695 - if (ret != -EPROBE_DEFER) 696 - dev_err(&pdev->dev, "Can't get 'bus' clock\n"); 697 - return ret; 698 - } 699 - priv->bclk = NULL; 700 - } 686 + priv->bclk = devm_clk_get_optional(&pdev->dev, "bus"); 687 + if (IS_ERR(priv->bclk)) 688 + return dev_err_probe(&pdev->dev, PTR_ERR(priv->bclk), 689 + "Can't get 'bus' clock\n"); 701 690 702 691 ret = stm32_adc_core_switches_probe(dev, priv); 703 692 if (ret)
+3 -7
drivers/iio/adc/stm32-adc.c
··· 1805 1805 adc->dma_chan = dma_request_chan(dev, "rx"); 1806 1806 if (IS_ERR(adc->dma_chan)) { 1807 1807 ret = PTR_ERR(adc->dma_chan); 1808 - if (ret != -ENODEV) { 1809 - if (ret != -EPROBE_DEFER) 1810 - dev_err(dev, 1811 - "DMA channel request failed with %d\n", 1812 - ret); 1813 - return ret; 1814 - } 1808 + if (ret != -ENODEV) 1809 + return dev_err_probe(dev, ret, 1810 + "DMA channel request failed with\n"); 1815 1811 1816 1812 /* DMA is optional: fall back to IRQ mode */ 1817 1813 adc->dma_chan = NULL;
+3 -7
drivers/iio/adc/stm32-dfsdm-adc.c
··· 1473 1473 /* Optionally request DMA */ 1474 1474 ret = stm32_dfsdm_dma_request(dev, indio_dev); 1475 1475 if (ret) { 1476 - if (ret != -ENODEV) { 1477 - if (ret != -EPROBE_DEFER) 1478 - dev_err(dev, 1479 - "DMA channel request failed with %d\n", 1480 - ret); 1481 - return ret; 1482 - } 1476 + if (ret != -ENODEV) 1477 + return dev_err_probe(dev, ret, 1478 + "DMA channel request failed with\n"); 1483 1479 1484 1480 dev_dbg(dev, "No DMA support\n"); 1485 1481 return 0;
+3 -6
drivers/iio/adc/stm32-dfsdm-core.c
··· 243 243 * on use case. 244 244 */ 245 245 priv->clk = devm_clk_get(&pdev->dev, "dfsdm"); 246 - if (IS_ERR(priv->clk)) { 247 - ret = PTR_ERR(priv->clk); 248 - if (ret != -EPROBE_DEFER) 249 - dev_err(&pdev->dev, "Failed to get clock (%d)\n", ret); 250 - return ret; 251 - } 246 + if (IS_ERR(priv->clk)) 247 + return dev_err_probe(&pdev->dev, PTR_ERR(priv->clk), 248 + "Failed to get clock\n"); 252 249 253 250 priv->aclk = devm_clk_get(&pdev->dev, "audio"); 254 251 if (IS_ERR(priv->aclk))
+1 -4
drivers/iio/dac/stm32-dac-core.c
··· 150 150 rst = devm_reset_control_get_optional_exclusive(dev, NULL); 151 151 if (rst) { 152 152 if (IS_ERR(rst)) { 153 - ret = PTR_ERR(rst); 154 - if (ret != -EPROBE_DEFER) 155 - dev_err(dev, "reset get failed, %d\n", ret); 156 - 153 + ret = dev_err_probe(dev, PTR_ERR(rst), "reset get failed\n"); 157 154 goto err_hw_stop; 158 155 } 159 156