RE: [PATCH 5/5] i2c: designware: Switch over to i2c_freq_mode_string()
From: Song Bao Hua (Barry Song)
Date: Tue Mar 30 2021 - 18:02:10 EST
From: Andy Shevchenko [mailto:andy.shevchenko@xxxxxxxxx]
Sent: Wednesday, March 31, 2021 10:57 AM
To: Song Bao Hua (Barry Song) <song.bao.hua@xxxxxxxxxxxxx>
Cc: yangyicong <yangyicong@xxxxxxxxxx>; wsa@xxxxxxxxxx; andriy.shevchenko@xxxxxxxxxxxxxxx; linux-i2c@xxxxxxxxxxxxxxx; Sergey.Semin@xxxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; digetx@xxxxxxxxx; treding@xxxxxxxxxx; jarkko.nikula@xxxxxxxxxxxxxxx; rmk+kernel@xxxxxxxxxxxxxxx; John Garry <john.garry@xxxxxxxxxx>; mika.westerberg@xxxxxxxxxxxxxxx; Zengtao (B) <prime.zeng@xxxxxxxxxxxxx>; Linuxarm <linuxarm@xxxxxxxxxx>
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@xxxxxxxxxxxxx> wrote:
> -----Original Message-----
> From: yangyicong
> Sent: Wednesday, March 31, 2021 3:19 AM
> To: wsa@xxxxxxxxxx; andriy.shevchenko@xxxxxxxxxxxxxxx;
> linux-i2c@xxxxxxxxxxxxxxx; Sergey.Semin@xxxxxxxxxxxxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx
> Cc: digetx@xxxxxxxxx; treding@xxxxxxxxxx; jarkko.nikula@xxxxxxxxxxxxxxx;
> rmk+kernel@xxxxxxxxxxxxxxx; Song Bao Hua (Barry Song)
> <song.bao.hua@xxxxxxxxxxxxx>; John Garry <john.garry@xxxxxxxxxx>;
> mika.westerberg@xxxxxxxxxxxxxxx; yangyicong <yangyicong@xxxxxxxxxx>; Zengtao
> (B) <prime.zeng@xxxxxxxxxxxxx>; Linuxarm <linuxarm@xxxxxxxxxx>
> Subject: [PATCH 5/5] i2c: designware: Switch over to i2c_freq_mode_string()
>
> From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
>
> Use generic i2c_freq_mode_string() helper to print chosen bus speed.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> Signed-off-by: Yicong Yang <yangyicong@xxxxxxxxxxxxx>
> ---
> 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
> + return 0;
> }
>
> /**
> --
> 2.8.1
--
With Best Regards,
Andy Shevchenko