Message ID | 20210317065359.3109394-6-xiaoning.wang@nxp.com |
---|---|
State | Superseded |
Headers | show |
Series | i2c: imx-lpi2c: New features and bug fixes | expand |
> From: Clark Wang <xiaoning.wang@nxp.com> > Sent: Wednesday, March 17, 2021 2:54 PM > > add debug message when i2c peripheral clk rate is 0, then directly return > -EINVAL. > > Signed-off-by: Gao Pan <pandy.gao@nxp.com> > Reviewed-by: Andy Duan <fugang.duan@nxp.com> Drop old review when patch is changed > --- > drivers/i2c/busses/i2c-imx-lpi2c.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c > b/drivers/i2c/busses/i2c-imx-lpi2c.c > index e718bb6b2387..8f9dd3dd2951 100644 > --- a/drivers/i2c/busses/i2c-imx-lpi2c.c > +++ b/drivers/i2c/busses/i2c-imx-lpi2c.c > @@ -209,7 +209,12 @@ static int lpi2c_imx_config(struct lpi2c_imx_struct > *lpi2c_imx) > > lpi2c_imx_set_mode(lpi2c_imx); > > - clk_rate = clk_get_rate(lpi2c_imx->clk); I guess the kernel can't compile right before this patch because lpi2c_imx->clk was Removed In former patch You need double check not break bisect > + clk_rate = clk_get_rate(lpi2c_imx->clk_per); > + if (!clk_rate) { > + dev_dbg(&lpi2c_imx->adapter.dev, "clk_per rate is 0\n"); s/dev_dbg/dev_err > + return -EINVAL; > + } > + > if (lpi2c_imx->mode == HS || lpi2c_imx->mode == ULTRA_FAST) > filt = 0; > else > -- > 2.25.1
> -----Original Message----- > From: Aisheng Dong <aisheng.dong@nxp.com> > Sent: Friday, March 19, 2021 12:57 > To: Clark Wang <xiaoning.wang@nxp.com>; shawnguo@kernel.org; > s.hauer@pengutronix.de > Cc: kernel@pengutronix.de; festevam@gmail.com; dl-linux-imx <linux- > imx@nxp.com>; sumit.semwal@linaro.org; christian.koenig@amd.com; > linux-i2c@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux- > kernel@vger.kernel.org > Subject: RE: [PATCH 05/11] i2c: imx-lpi2c: add debug message when i2c > peripheral clk doesn't work > > > From: Clark Wang <xiaoning.wang@nxp.com> > > Sent: Wednesday, March 17, 2021 2:54 PM > > > > add debug message when i2c peripheral clk rate is 0, then directly > > return -EINVAL. > > > > Signed-off-by: Gao Pan <pandy.gao@nxp.com> > > Reviewed-by: Andy Duan <fugang.duan@nxp.com> > > Drop old review when patch is changed > > > --- > > drivers/i2c/busses/i2c-imx-lpi2c.c | 7 ++++++- > > 1 file changed, 6 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c > > b/drivers/i2c/busses/i2c-imx-lpi2c.c > > index e718bb6b2387..8f9dd3dd2951 100644 > > --- a/drivers/i2c/busses/i2c-imx-lpi2c.c > > +++ b/drivers/i2c/busses/i2c-imx-lpi2c.c > > @@ -209,7 +209,12 @@ static int lpi2c_imx_config(struct > > lpi2c_imx_struct > > *lpi2c_imx) > > > > lpi2c_imx_set_mode(lpi2c_imx); > > > > - clk_rate = clk_get_rate(lpi2c_imx->clk); > > I guess the kernel can't compile right before this patch because lpi2c_imx- > >clk was Removed In former patch You need double check not break bisect Oh, sorry, I miss this clk definition here. I will fix this in V2. > > > + clk_rate = clk_get_rate(lpi2c_imx->clk_per); > > + if (!clk_rate) { > > + dev_dbg(&lpi2c_imx->adapter.dev, "clk_per rate is 0\n"); > > s/dev_dbg/dev_err Will change to dev_err. Thanks. Best Regards, Clark Wang > > > + return -EINVAL; > > + } > > + > > if (lpi2c_imx->mode == HS || lpi2c_imx->mode == ULTRA_FAST) > > filt = 0; > > else > > -- > > 2.25.1
diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c b/drivers/i2c/busses/i2c-imx-lpi2c.c index e718bb6b2387..8f9dd3dd2951 100644 --- a/drivers/i2c/busses/i2c-imx-lpi2c.c +++ b/drivers/i2c/busses/i2c-imx-lpi2c.c @@ -209,7 +209,12 @@ static int lpi2c_imx_config(struct lpi2c_imx_struct *lpi2c_imx) lpi2c_imx_set_mode(lpi2c_imx); - clk_rate = clk_get_rate(lpi2c_imx->clk); + clk_rate = clk_get_rate(lpi2c_imx->clk_per); + 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