linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] i2c: exynos5: Fix getting the optional clock
@ 2021-12-12 18:10 ` Sam Protsenko
  2021-12-12 18:23   ` Krzysztof Kozlowski
                     ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Sam Protsenko @ 2021-12-12 18:10 UTC (permalink / raw)
  To: Wolfram Sang, Krzysztof Kozlowski
  Cc: Chanho Park, Jaewon Kim, linux-i2c, linux-arm-kernel,
	linux-samsung-soc, linux-kernel

"hsi2c_pclk" clock is optional and may not be present for some SoCs
supported by this driver. Nevertheless, in case the clock is provided
but some error happens during its getting, that error should be handled
properly. Use devm_clk_get_optional() API for that. Also report possible
errors using dev_err_probe() to handle properly -EPROBE_DEFER error (if
clock provider is not ready by the time I2C probe function is executed).

Fixes: c93ac09df2a8 ("i2c: exynos5: Add bus clock support")
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
---
 drivers/i2c/busses/i2c-exynos5.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/i2c/busses/i2c-exynos5.c b/drivers/i2c/busses/i2c-exynos5.c
index 693903e80892..b812d1090c0f 100644
--- a/drivers/i2c/busses/i2c-exynos5.c
+++ b/drivers/i2c/busses/i2c-exynos5.c
@@ -814,9 +814,11 @@ static int exynos5_i2c_probe(struct platform_device *pdev)
 		return -ENOENT;
 	}
 
-	i2c->pclk = devm_clk_get(&pdev->dev, "hsi2c_pclk");
-	if (IS_ERR(i2c->pclk))
-		i2c->pclk = NULL; /* pclk is optional */
+	i2c->pclk = devm_clk_get_optional(&pdev->dev, "hsi2c_pclk");
+	if (IS_ERR(i2c->pclk)) {
+		return dev_err_probe(&pdev->dev, PTR_ERR(i2c->pclk),
+				     "cannot get pclk");
+	}
 
 	ret = clk_prepare_enable(i2c->pclk);
 	if (ret)
-- 
2.30.2


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

* Re: [PATCH] i2c: exynos5: Fix getting the optional clock
  2021-12-12 18:10 ` [PATCH] i2c: exynos5: Fix getting the optional clock Sam Protsenko
@ 2021-12-12 18:23   ` Krzysztof Kozlowski
  2021-12-13  0:00   ` Chanho Park
  2021-12-16 21:22   ` Wolfram Sang
  2 siblings, 0 replies; 5+ messages in thread
From: Krzysztof Kozlowski @ 2021-12-12 18:23 UTC (permalink / raw)
  To: Sam Protsenko, Wolfram Sang
  Cc: Chanho Park, Jaewon Kim, linux-i2c, linux-arm-kernel,
	linux-samsung-soc, linux-kernel

On 12/12/2021 19:10, Sam Protsenko wrote:
> "hsi2c_pclk" clock is optional and may not be present for some SoCs
> supported by this driver. Nevertheless, in case the clock is provided
> but some error happens during its getting, that error should be handled
> properly. Use devm_clk_get_optional() API for that. Also report possible
> errors using dev_err_probe() to handle properly -EPROBE_DEFER error (if
> clock provider is not ready by the time I2C probe function is executed).
> 
> Fixes: c93ac09df2a8 ("i2c: exynos5: Add bus clock support")
> Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
> ---
>  drivers/i2c/busses/i2c-exynos5.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 


Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>


Best regards,
Krzysztof

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

* RE: [PATCH] i2c: exynos5: Fix getting the optional clock
  2021-12-12 18:10 ` [PATCH] i2c: exynos5: Fix getting the optional clock Sam Protsenko
  2021-12-12 18:23   ` Krzysztof Kozlowski
@ 2021-12-13  0:00   ` Chanho Park
  2021-12-16 21:22   ` Wolfram Sang
  2 siblings, 0 replies; 5+ messages in thread
From: Chanho Park @ 2021-12-13  0:00 UTC (permalink / raw)
  To: 'Sam Protsenko', 'Wolfram Sang',
	'Krzysztof Kozlowski'
  Cc: 'Jaewon Kim',
	linux-i2c, linux-arm-kernel, linux-samsung-soc, linux-kernel

> "hsi2c_pclk" clock is optional and may not be present for some SoCs
> supported by this driver. Nevertheless, in case the clock is provided but
> some error happens during its getting, that error should be handled
> properly. Use devm_clk_get_optional() API for that. Also report possible
> errors using dev_err_probe() to handle properly -EPROBE_DEFER error (if
> clock provider is not ready by the time I2C probe function is executed).
> 
> Fixes: c93ac09df2a8 ("i2c: exynos5: Add bus clock support")
> Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>

Reviewed-by: Chanho Park <chanho61.park@samsung.com>


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

* Re: [PATCH] i2c: exynos5: Fix getting the optional clock
  2021-12-12 18:10 ` [PATCH] i2c: exynos5: Fix getting the optional clock Sam Protsenko
  2021-12-12 18:23   ` Krzysztof Kozlowski
  2021-12-13  0:00   ` Chanho Park
@ 2021-12-16 21:22   ` Wolfram Sang
  2021-12-16 23:04     ` Sam Protsenko
  2 siblings, 1 reply; 5+ messages in thread
From: Wolfram Sang @ 2021-12-16 21:22 UTC (permalink / raw)
  To: Sam Protsenko
  Cc: Krzysztof Kozlowski, Chanho Park, Jaewon Kim, linux-i2c,
	linux-arm-kernel, linux-samsung-soc, linux-kernel

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

On Sun, Dec 12, 2021 at 08:10:57PM +0200, Sam Protsenko wrote:
> "hsi2c_pclk" clock is optional and may not be present for some SoCs
> supported by this driver. Nevertheless, in case the clock is provided
> but some error happens during its getting, that error should be handled
> properly. Use devm_clk_get_optional() API for that. Also report possible
> errors using dev_err_probe() to handle properly -EPROBE_DEFER error (if
> clock provider is not ready by the time I2C probe function is executed).
> 
> Fixes: c93ac09df2a8 ("i2c: exynos5: Add bus clock support")
> Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>

Applied to for-next, thanks! But I needed to fix the Fixes tag?


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [PATCH] i2c: exynos5: Fix getting the optional clock
  2021-12-16 21:22   ` Wolfram Sang
@ 2021-12-16 23:04     ` Sam Protsenko
  0 siblings, 0 replies; 5+ messages in thread
From: Sam Protsenko @ 2021-12-16 23:04 UTC (permalink / raw)
  To: Wolfram Sang, Sam Protsenko, Krzysztof Kozlowski, Chanho Park,
	Jaewon Kim, linux-i2c, linux-arm-kernel, linux-samsung-soc,
	linux-kernel

On Thu, 16 Dec 2021 at 23:22, Wolfram Sang <wsa@kernel.org> wrote:
>
> On Sun, Dec 12, 2021 at 08:10:57PM +0200, Sam Protsenko wrote:
> > "hsi2c_pclk" clock is optional and may not be present for some SoCs
> > supported by this driver. Nevertheless, in case the clock is provided
> > but some error happens during its getting, that error should be handled
> > properly. Use devm_clk_get_optional() API for that. Also report possible
> > errors using dev_err_probe() to handle properly -EPROBE_DEFER error (if
> > clock provider is not ready by the time I2C probe function is executed).
> >
> > Fixes: c93ac09df2a8 ("i2c: exynos5: Add bus clock support")
> > Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
>
> Applied to for-next, thanks! But I needed to fix the Fixes tag?
>

Ah, sorry about that! I probably looked at some other tree. Thanks for applying!

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

end of thread, other threads:[~2021-12-16 23:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CGME20211212181103epcas2p2f366435198200c3f4bac0fdf8ad1d0a3@epcas2p2.samsung.com>
2021-12-12 18:10 ` [PATCH] i2c: exynos5: Fix getting the optional clock Sam Protsenko
2021-12-12 18:23   ` Krzysztof Kozlowski
2021-12-13  0:00   ` Chanho Park
2021-12-16 21:22   ` Wolfram Sang
2021-12-16 23:04     ` Sam Protsenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).