RE: [PATCH 5/5] i2c: designware: Switch over to i2c_freq_mode_string()

Song Bao Hua (Barry Song)
2021-03-30T22:08:02Z

> -----Original Message-----
> From: Song Bao Hua (Barry Song)
> Sent: Wednesday, March 31, 2021 10:54 AM
> To: 'Andy Shevchenko' <andy.shevchenko@gmail.com>
> Cc: yangyicong <yangyicong@huawei.com>; wsa@kernel.org;
> andriy.shevchenko@linux.intel.com; linux-i2c@vger.kernel.org;
> Sergey.Semin@baikalelectronics.ru; linux-kernel@vger.kernel.org;
> digetx@gmail.com; treding@nvidia.com; jarkko.nikula@linux.intel.com;
> rmk+kernel@armlinux.org.uk; John Garry <john.garry@huawei.com>;
> mika.westerberg@linux.intel.com; Zengtao (B) <prime.zeng@hisilicon.com>;
> Linuxarm <linuxarm@huawei.com>
> Subject: RE: [PATCH 5/5] i2c: designware: Switch over to i2c_freq_mode_string()
>
>
>
> From: Andy Shevchenko [mailto:andy.shevchenko@gmail.com]
> Sent: Wednesday, March 31, 2021 10:57 AM
> To: Song Bao Hua (Barry Song) <song.bao.hua@hisilicon.com>
> Cc: yangyicong <yangyicong@huawei.com>; wsa@kernel.org;
> andriy.shevchenko@linux.intel.com; linux-i2c@vger.kernel.org;
> Sergey.Semin@baikalelectronics.ru; linux-kernel@vger.kernel.org;
> digetx@gmail.com; treding@nvidia.com; jarkko.nikula@linux.intel.com;
> rmk+kernel@armlinux.org.uk; John Garry <john.garry@huawei.com>;
> mika.westerberg@linux.intel.com; Zengtao (B) <prime.zeng@hisilicon.com>;
> Linuxarm <linuxarm@huawei.com>
> Subject: Re: [PATCH 5/5] i2c: designware: Switch over to i2c_freq_mode_string()
>
>
>
> On Wednesday, March 31, 2021, Song Bao Hua (Barry Song)
> <song.bao.hua@hisilicon.com> wrote:
>
>
> > -----Original Message-----
> > From: yangyicong
> > Sent: Wednesday, March 31, 2021 3:19 AM
> > To: wsa@kernel.org; andriy.shevchenko@linux.intel.com;
> > linux-i2c@vger.kernel.org; Sergey.Semin@baikalelectronics.ru;
> > linux-kernel@vger.kernel.org
> > Cc: digetx@gmail.com; treding@nvidia.com; jarkko.nikula@linux.intel.com;
> > rmk+kernel@armlinux.org.uk; Song Bao Hua (Barry Song)
> > <song.bao.hua@hisilicon.com>; John Garry <john.garry@huawei.com>;
> > mika.westerberg@linux.intel.com; yangyicong <yangyicong@huawei.com>;
> Zengtao
> > (B) <prime.zeng@hisilicon.com>; Linuxarm <linuxarm@huawei.com>
> > Subject: [PATCH 5/5] i2c: designware: Switch over to i2c_freq_mode_string()
> >
> > From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> >
> > Use generic i2c_freq_mode_string() helper to print chosen bus speed.
> >
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
> > ---
> >  drivers/i2c/busses/i2c-designware-master.c | 20 ++++----------------
> >  1 file changed, 4 insertions(+), 16 deletions(-)
> >
> > diff --git a/drivers/i2c/busses/i2c-designware-master.c
> > b/drivers/i2c/busses/i2c-designware-master.c
> > index dd27b9d..b64c4c8 100644
> > --- a/drivers/i2c/busses/i2c-designware-master.c
> > +++ b/drivers/i2c/busses/i2c-designware-master.c
> > @@ -35,10 +35,10 @@ static void i2c_dw_configure_fifo_master(struct
> dw_i2c_dev
> > *dev)
> >
> >  static int i2c_dw_set_timings_master(struct dw_i2c_dev *dev)
> >  {
> > -     const char *mode_str, *fp_str = "";
> >       u32 comp_param1;
> >       u32 sda_falling_time, scl_falling_time;
> >       struct i2c_timings *t = &dev->timings;
> > +     const char *fp_str = "";
> >       u32 ic_clk;
> >       int ret;
> >
> > @@ -153,22 +153,10 @@ static int i2c_dw_set_timings_master(struct dw_i2c_dev
> > *dev)
> >
> >       ret = i2c_dw_set_sda_hold(dev);
> >       if (ret)
> > -             goto out;
> > -
> > -     switch (dev->master_cfg & DW_IC_CON_SPEED_MASK) {
> > -     case DW_IC_CON_SPEED_STD:
> > -             mode_str = "Standard Mode";
> > -             break;
> > -     case DW_IC_CON_SPEED_HIGH:
> > -             mode_str = "High Speed Mode";
> > -             break;
> > -     default:
> > -             mode_str = "Fast Mode";
> > -     }
> > -     dev_dbg(dev->dev, "Bus speed: %s%s\n", mode_str, fp_str);
> > +             return ret;
> >
> > -out:
> > -     return ret;
> > +     dev_dbg(dev->dev, "Bus speed: %s\n",
> > i2c_freq_mode_string(t->bus_freq_hz));
>
> > Weird the original code was printing both mode and fp.
> > And you are printing mode only.
>
> >> Sorry, but I didn’t get what you mean here. The code is equivalent, and actually
> it will print even more.
>
> The original code will print the string fp_str:
> %s%s\n", mode_str, fp_str
>
> The new code is printing mode_str only:
> %s
>

Isn't fp_str redundant? Do we need to change

dev_dbg(dev->dev, "Fast Mode:%s HCNT:LCNT = %d:%d\n", fp_str...)

> > +     return 0;
> >  }
> >
> >  /**
> > --
> > 2.8.1
>
>
> --
> With Best Regards,
> Andy Shevchenko