2023-05-29 07:22:53

by Carlos Song

[permalink] [raw]
Subject: [PATCH] i2c: imx-lpi2c: add debug message when i2c peripheral clk doesn't work

From: Gao Pan <[email protected]>

Add debug message when i2c peripheral clk rate is 0, then
directly return -EINVAL.

Fixes: a55fa9d0e42e ("i2c: imx-lpi2c: add low power i2c bus driver")
Signed-off-by: Gao Pan <[email protected]>
Signed-off-by: Carlos Song <[email protected]>
---
drivers/i2c/busses/i2c-imx-lpi2c.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c b/drivers/i2c/busses/i2c-imx-lpi2c.c
index 11240bf8e8e2..62111fe9f207 100644
--- a/drivers/i2c/busses/i2c-imx-lpi2c.c
+++ b/drivers/i2c/busses/i2c-imx-lpi2c.c
@@ -209,6 +209,11 @@ static int lpi2c_imx_config(struct lpi2c_imx_struct *lpi2c_imx)
lpi2c_imx_set_mode(lpi2c_imx);

clk_rate = clk_get_rate(lpi2c_imx->clks[0].clk);
+ if (!clk_rate) {
+ dev_dbg(&lpi2c_imx->adapter.dev, "clk_per rate is 0\n");
+ return -EINVAL;
+ }
+
if (lpi2c_imx->mode == HS || lpi2c_imx->mode == ULTRA_FAST)
filt = 0;
else
--
2.34.1



2023-06-13 23:48:14

by Andi Shyti

[permalink] [raw]
Subject: Re: [PATCH] i2c: imx-lpi2c: add debug message when i2c peripheral clk doesn't work

Hi,

On Mon, May 29, 2023 at 03:23:16PM +0800, [email protected] wrote:
> From: Gao Pan <[email protected]>
>
> Add debug message when i2c peripheral clk rate is 0, then
> directly return -EINVAL.
>
> Fixes: a55fa9d0e42e ("i2c: imx-lpi2c: add low power i2c bus driver")
> Signed-off-by: Gao Pan <[email protected]>
> Signed-off-by: Carlos Song <[email protected]>
> ---
> drivers/i2c/busses/i2c-imx-lpi2c.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c b/drivers/i2c/busses/i2c-imx-lpi2c.c
> index 11240bf8e8e2..62111fe9f207 100644
> --- a/drivers/i2c/busses/i2c-imx-lpi2c.c
> +++ b/drivers/i2c/busses/i2c-imx-lpi2c.c
> @@ -209,6 +209,11 @@ static int lpi2c_imx_config(struct lpi2c_imx_struct *lpi2c_imx)
> lpi2c_imx_set_mode(lpi2c_imx);
>
> clk_rate = clk_get_rate(lpi2c_imx->clks[0].clk);
> + if (!clk_rate) {
> + dev_dbg(&lpi2c_imx->adapter.dev, "clk_per rate is 0\n");
> + return -EINVAL;
> + }

should this rather be a dev_err?

And, BTW, did you actually hit this?

Andi

> +
> if (lpi2c_imx->mode == HS || lpi2c_imx->mode == ULTRA_FAST)
> filt = 0;
> else
> --
> 2.34.1
>

2023-07-24 11:06:43

by Carlos Song

[permalink] [raw]
Subject: RE: [EXT] Re: [PATCH] i2c: imx-lpi2c: add debug message when i2c peripheral clk doesn't work

Hi, Andi

> -----Original Message-----
> From: Andi Shyti <[email protected]>
> Sent: Wednesday, June 14, 2023 7:40 AM
> To: Carlos Song <[email protected]>
> Cc: Aisheng Dong <[email protected]>; [email protected];
> [email protected]; [email protected]; [email protected]; Clark
> Wang <[email protected]>; Bough Chen <[email protected]>;
> dl-linux-imx <[email protected]>; [email protected];
> [email protected]; [email protected]
> Subject: [EXT] Re: [PATCH] i2c: imx-lpi2c: add debug message when i2c
> peripheral clk doesn't work
>
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report this
> email' button
>
>
> Hi,
>
> On Mon, May 29, 2023 at 03:23:16PM +0800, [email protected] wrote:
> > From: Gao Pan <[email protected]>
> >
> > Add debug message when i2c peripheral clk rate is 0, then directly
> > return -EINVAL.
> >
> > Fixes: a55fa9d0e42e ("i2c: imx-lpi2c: add low power i2c bus driver")
> > Signed-off-by: Gao Pan <[email protected]>
> > Signed-off-by: Carlos Song <[email protected]>
> > ---
> > drivers/i2c/busses/i2c-imx-lpi2c.c | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c
> > b/drivers/i2c/busses/i2c-imx-lpi2c.c
> > index 11240bf8e8e2..62111fe9f207 100644
> > --- a/drivers/i2c/busses/i2c-imx-lpi2c.c
> > +++ b/drivers/i2c/busses/i2c-imx-lpi2c.c
> > @@ -209,6 +209,11 @@ static int lpi2c_imx_config(struct lpi2c_imx_struct
> *lpi2c_imx)
> > lpi2c_imx_set_mode(lpi2c_imx);
> >
> > clk_rate = clk_get_rate(lpi2c_imx->clks[0].clk);
> > + if (!clk_rate) {
> > + dev_dbg(&lpi2c_imx->adapter.dev, "clk_per rate is 0\n");
> > + return -EINVAL;
> > + }
>
> should this rather be a dev_err?
>
Carlos: Yes, I will fix it.
> And, BTW, did you actually hit this?
>
Carlos: No, not frequently. But I think it will be safer maybe.
> Andi
>
> > +
> > if (lpi2c_imx->mode == HS || lpi2c_imx->mode == ULTRA_FAST)
> > filt = 0;
> > else
> > --
> > 2.34.1
> >