From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
Jonathan Hunter <jonathanh@nvidia.com>,
Laxman Dewangan <ldewangan@nvidia.com>,
Wolfram Sang <wsa@the-dreams.de>
Cc: linux-i2c@vger.kernel.org, linux-tegra@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH v1 07/12] i2c: tegra: Use dev_err_probe()
Date: Mon, 31 Aug 2020 23:22:58 +0300 [thread overview]
Message-ID: <20200831202303.15391-8-digetx@gmail.com> (raw)
In-Reply-To: <20200831202303.15391-1-digetx@gmail.com>
Use dev_err_probe() to replace the manual -EPROBE_DEFER handling, making
code cleaner.
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
drivers/i2c/busses/i2c-tegra.c | 31 ++++++++++++-------------------
1 file changed, 12 insertions(+), 19 deletions(-)
diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
index 2c00f2e39514..525a757bdc66 100644
--- a/drivers/i2c/busses/i2c-tegra.c
+++ b/drivers/i2c/busses/i2c-tegra.c
@@ -1646,8 +1646,8 @@ MODULE_DEVICE_TABLE(of, tegra_i2c_of_match);
static int tegra_i2c_probe(struct platform_device *pdev)
{
+ struct clk *div_clk, *fast_clk, *slow_clk;
struct device *dev = &pdev->dev;
- struct clk *div_clk, *fast_clk;
struct tegra_i2c_dev *i2c_dev;
phys_addr_t base_phys;
struct resource *res;
@@ -1668,12 +1668,9 @@ static int tegra_i2c_probe(struct platform_device *pdev)
irq = res->start;
div_clk = devm_clk_get(&pdev->dev, "div-clk");
- if (IS_ERR(div_clk)) {
- if (PTR_ERR(div_clk) != -EPROBE_DEFER)
- dev_err(&pdev->dev, "missing controller clock\n");
-
- return PTR_ERR(div_clk);
- }
+ if (IS_ERR(div_clk))
+ return dev_err_probe(&pdev->dev, PTR_ERR(div_clk),
+ "failed to get div-clk\n");
i2c_dev = devm_kzalloc(&pdev->dev, sizeof(*i2c_dev), GFP_KERNEL);
if (!i2c_dev)
@@ -1712,24 +1709,20 @@ static int tegra_i2c_probe(struct platform_device *pdev)
if (!i2c_dev->hw->has_single_clk_source) {
fast_clk = devm_clk_get(&pdev->dev, "fast-clk");
- if (IS_ERR(fast_clk)) {
- dev_err(dev, "failed to get fast clock\n: %ld\n",
- PTR_ERR(fast_clk));
+ if (IS_ERR(fast_clk))
+ return dev_err_probe(&pdev->dev, PTR_ERR(fast_clk),
+ "failed to get fast clock\n");
- return PTR_ERR(fast_clk);
- }
i2c_dev->fast_clk = fast_clk;
}
if (i2c_dev->is_vi) {
- i2c_dev->slow_clk = devm_clk_get(dev, "slow");
- if (IS_ERR(i2c_dev->slow_clk)) {
- if (PTR_ERR(i2c_dev->slow_clk) != -EPROBE_DEFER)
- dev_err(dev, "failed to get slow clock: %ld\n",
- PTR_ERR(i2c_dev->slow_clk));
+ slow_clk = devm_clk_get(dev, "slow");
+ if (IS_ERR(slow_clk))
+ return dev_err_probe(&pdev->dev, PTR_ERR(slow_clk),
+ "failed to get slow clock\n");
- return PTR_ERR(i2c_dev->slow_clk);
- }
+ i2c_dev->slow_clk = slow_clk;
}
platform_set_drvdata(pdev, i2c_dev);
--
2.27.0
next prev parent reply other threads:[~2020-08-31 20:24 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-31 20:22 [PATCH v1 00/12] Improvements for Tegra I2C driver Dmitry Osipenko
2020-08-31 20:22 ` [PATCH v1 01/12] i2c: tegra: Make tegra_i2c_flush_fifos() usable in atomic transfer Dmitry Osipenko
2020-08-31 20:22 ` [PATCH v1 02/12] i2c: tegra: Add missing newline before returns Dmitry Osipenko
2020-08-31 20:22 ` [PATCH v1 03/12] i2c: tegra: Clean up messages in the code Dmitry Osipenko
2020-09-01 12:03 ` Dmitry Osipenko
2020-09-02 20:42 ` Michał Mirosław
2020-09-02 21:16 ` Dmitry Osipenko
2020-08-31 20:22 ` [PATCH v1 04/12] i2c: tegra: Don't ignore tegra_i2c_flush_fifos() error Dmitry Osipenko
2020-08-31 20:22 ` [PATCH v1 05/12] i2c: tegra: Use reset_control_reset() Dmitry Osipenko
2020-08-31 20:22 ` [PATCH v1 06/12] i2c: tegra: Improve formatting of function variables Dmitry Osipenko
2020-08-31 20:22 ` Dmitry Osipenko [this message]
2020-08-31 20:22 ` [PATCH v1 08/12] i2c: tegra: Runtime PM always available on Tegra Dmitry Osipenko
2020-08-31 20:23 ` [PATCH v1 09/12] i2c: tegra: Clean up probe function Dmitry Osipenko
2020-09-02 21:06 ` Michał Mirosław
2020-09-02 21:17 ` Dmitry Osipenko
2020-09-02 21:47 ` Dmitry Osipenko
2020-08-31 20:23 ` [PATCH v1 10/12] i2c: tegra: Drop '_timeout' from wait/poll function names Dmitry Osipenko
2020-08-31 20:23 ` [PATCH v1 11/12] i2c: tegra: Remove likely/unlikely from the code Dmitry Osipenko
2020-08-31 20:23 ` [PATCH v1 12/12] i2c: tegra: Factor out error recovery from tegra_i2c_xfer_msg() Dmitry Osipenko
2020-09-02 21:20 ` [PATCH v1 00/12] Improvements for Tegra I2C driver Michał Mirosław
2020-09-03 1:12 ` Dmitry Osipenko
2020-09-03 16:47 ` Michał Mirosław
2020-09-03 22:18 ` Dmitry Osipenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200831202303.15391-8-digetx@gmail.com \
--to=digetx@gmail.com \
--cc=jonathanh@nvidia.com \
--cc=ldewangan@nvidia.com \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=thierry.reding@gmail.com \
--cc=wsa@the-dreams.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.