Commit 703b3228 authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Wolfram Sang
Browse files

i2c: stm32: Simplify with dev_err_probe()



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

Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: default avatarAlain Volmat <alain.volmat@st.com>
Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
parent 27c90870
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -26,8 +26,9 @@ struct stm32_i2c_dma *stm32_i2c_dma_request(struct device *dev,
	dma->chan_tx = dma_request_chan(dev, "tx");
	if (IS_ERR(dma->chan_tx)) {
		ret = PTR_ERR(dma->chan_tx);
		if ((ret != -ENODEV) && (ret != -EPROBE_DEFER))
			dev_err(dev, "can't request DMA tx channel\n");
		if (ret != -ENODEV)
			ret = dev_err_probe(dev, ret,
					    "can't request DMA tx channel\n");
		goto fail_al;
	}

@@ -46,8 +47,9 @@ struct stm32_i2c_dma *stm32_i2c_dma_request(struct device *dev,
	dma->chan_rx = dma_request_chan(dev, "rx");
	if (IS_ERR(dma->chan_rx)) {
		ret = PTR_ERR(dma->chan_rx);
		if ((ret != -ENODEV) && (ret != -EPROBE_DEFER))
			dev_err(dev, "can't request DMA rx channel\n");
		if (ret != -ENODEV)
			ret = dev_err_probe(dev, ret,
					    "can't request DMA rx channel\n");

		goto fail_tx;
	}
+2 −4
Original line number Diff line number Diff line
@@ -797,10 +797,8 @@ static int stm32f4_i2c_probe(struct platform_device *pdev)

	rst = devm_reset_control_get_exclusive(&pdev->dev, NULL);
	if (IS_ERR(rst)) {
		ret = PTR_ERR(rst);
		if (ret != -EPROBE_DEFER)
			dev_err(&pdev->dev, "Error: Missing reset ctrl\n");

		ret = dev_err_probe(&pdev->dev, PTR_ERR(rst),
				    "Error: Missing reset ctrl\n");
		goto clk_free;
	}
	reset_control_assert(rst);
+5 −9
Original line number Diff line number Diff line
@@ -2037,11 +2037,9 @@ static int stm32f7_i2c_probe(struct platform_device *pdev)
						    "wakeup-source");

	i2c_dev->clk = devm_clk_get(&pdev->dev, NULL);
	if (IS_ERR(i2c_dev->clk)) {
		if (PTR_ERR(i2c_dev->clk) != -EPROBE_DEFER)
			dev_err(&pdev->dev, "Failed to get controller clock\n");
		return PTR_ERR(i2c_dev->clk);
	}
	if (IS_ERR(i2c_dev->clk))
		return dev_err_probe(&pdev->dev, PTR_ERR(i2c_dev->clk),
				     "Failed to get controller clock\n");

	ret = clk_prepare_enable(i2c_dev->clk);
	if (ret) {
@@ -2051,10 +2049,8 @@ static int stm32f7_i2c_probe(struct platform_device *pdev)

	rst = devm_reset_control_get(&pdev->dev, NULL);
	if (IS_ERR(rst)) {
		ret = PTR_ERR(rst);
		if (ret != -EPROBE_DEFER)
			dev_err(&pdev->dev, "Error: Missing reset ctrl\n");

		ret = dev_err_probe(&pdev->dev, PTR_ERR(rst),
				    "Error: Missing reset ctrl\n");
		goto clk_free;
	}
	reset_control_assert(rst);