public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH next v3] i2c: hisi: Add support to get clock frequency from clock property
@ 2022-09-26  9:15 Weilong Chen
  2022-09-28 19:52 ` Wolfram Sang
  0 siblings, 1 reply; 3+ messages in thread
From: Weilong Chen @ 2022-09-26  9:15 UTC (permalink / raw)
  To: chenweilong, yangyicong; +Cc: linux-i2c, linux-kernel

Support the driver to obtain clock information by clk_rate or
clock property. Find clock first, if not, fall back to clk_rate.

Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Acked-by: Yicong Yang <yangyicong@hisilicon.com>
---
Change since v1:
- Ordered struct field to inverted triangle.
- Use devm_clk_get_optional_enabled().
- Use IS_ERR_OR_NULL.
Link: https://lore.kernel.org/lkml/20220921101540.352553-1-chenweilong@huawei.com/

Change since v2:
- Remove redundant blank line
Link: https://lore.kernel.org/all/20220923011417.78994-1-chenweilong@huawei.com/

 drivers/i2c/busses/i2c-hisi.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/drivers/i2c/busses/i2c-hisi.c b/drivers/i2c/busses/i2c-hisi.c
index 67031024217c..e4b0ebe54f6f 100644
--- a/drivers/i2c/busses/i2c-hisi.c
+++ b/drivers/i2c/busses/i2c-hisi.c
@@ -8,6 +8,7 @@
 #include <linux/acpi.h>
 #include <linux/bits.h>
 #include <linux/bitfield.h>
+#include <linux/clk.h>
 #include <linux/completion.h>
 #include <linux/i2c.h>
 #include <linux/interrupt.h>
@@ -90,6 +91,7 @@ struct hisi_i2c_controller {
 	struct i2c_adapter adapter;
 	void __iomem *iobase;
 	struct device *dev;
+	struct clk *clk;
 	int irq;
 
 	/* Intermediates for recording the transfer process */
@@ -456,10 +458,15 @@ static int hisi_i2c_probe(struct platform_device *pdev)
 		return ret;
 	}
 
-	ret = device_property_read_u64(dev, "clk_rate", &clk_rate_hz);
-	if (ret) {
-		dev_err(dev, "failed to get clock frequency, ret = %d\n", ret);
-		return ret;
+	ctlr->clk = devm_clk_get_optional_enabled(&pdev->dev, NULL);
+	if (IS_ERR_OR_NULL(ctlr->clk)) {
+		ret = device_property_read_u64(dev, "clk_rate", &clk_rate_hz);
+		if (ret) {
+			dev_err(dev, "failed to get clock frequency, ret = %d\n", ret);
+			return ret;
+		}
+	} else {
+		clk_rate_hz = clk_get_rate(ctlr->clk);
 	}
 
 	ctlr->clk_rate_khz = DIV_ROUND_UP_ULL(clk_rate_hz, HZ_PER_KHZ);
-- 
2.31.GIT


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

* Re: [PATCH next v3] i2c: hisi: Add support to get clock frequency from clock property
  2022-09-26  9:15 [PATCH next v3] i2c: hisi: Add support to get clock frequency from clock property Weilong Chen
@ 2022-09-28 19:52 ` Wolfram Sang
  2022-09-29  6:24   ` chenweilong
  0 siblings, 1 reply; 3+ messages in thread
From: Wolfram Sang @ 2022-09-28 19:52 UTC (permalink / raw)
  To: Weilong Chen; +Cc: yangyicong, linux-i2c, linux-kernel

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

On Mon, Sep 26, 2022 at 05:15:03PM +0800, Weilong Chen wrote:
> Support the driver to obtain clock information by clk_rate or
> clock property. Find clock first, if not, fall back to clk_rate.

This commit message describes what the patch does. But it misses the
explanation why this needs to be done. Could you add this information,
please? Patch itself looks also good to me.

> 
> Signed-off-by: Weilong Chen <chenweilong@huawei.com>
> Acked-by: Yicong Yang <yangyicong@hisilicon.com>

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

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

* Re: [PATCH next v3] i2c: hisi: Add support to get clock frequency from clock property
  2022-09-28 19:52 ` Wolfram Sang
@ 2022-09-29  6:24   ` chenweilong
  0 siblings, 0 replies; 3+ messages in thread
From: chenweilong @ 2022-09-29  6:24 UTC (permalink / raw)
  To: Wolfram Sang, yangyicong, linux-i2c, linux-kernel

On 2022/9/29 3:52, Wolfram Sang wrote:
> On Mon, Sep 26, 2022 at 05:15:03PM +0800, Weilong Chen wrote:
>> Support the driver to obtain clock information by clk_rate or
>> clock property. Find clock first, if not, fall back to clk_rate.
> This commit message describes what the patch does. But it misses the
> explanation why this needs to be done. Could you add this information,
> please? Patch itself looks also good to me.

OK, I'll update it.

Thanks.

>> Signed-off-by: Weilong Chen <chenweilong@huawei.com>
>> Acked-by: Yicong Yang <yangyicong@hisilicon.com>



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

end of thread, other threads:[~2022-09-29  6:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-26  9:15 [PATCH next v3] i2c: hisi: Add support to get clock frequency from clock property Weilong Chen
2022-09-28 19:52 ` Wolfram Sang
2022-09-29  6:24   ` chenweilong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox