On Tue, Mar 30, 2021 at 09:05:47PM +0800, Yicong Yang wrote: > Some I2C drivers like Designware and HiSilicon will print the > bus frequency mode information, so add a public one that everyone > can make use of. FWIW, Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > Signed-off-by: Yicong Yang <yangyicong@xxxxxxxxxxxxx> > --- > include/linux/i2c.h | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/include/linux/i2c.h b/include/linux/i2c.h > index 10bd0b0..6837e64 100644 > --- a/include/linux/i2c.h > +++ b/include/linux/i2c.h > @@ -47,6 +47,26 @@ typedef int (*i2c_slave_cb_t)(struct i2c_client *client, > #define I2C_MAX_HIGH_SPEED_MODE_FREQ 3400000 > #define I2C_MAX_ULTRA_FAST_MODE_FREQ 5000000 > > +static inline const char *i2c_freq_mode_string(u32 bus_freq_hz) > +{ > + switch (bus_freq_hz) { > + case I2C_MAX_STANDARD_MODE_FREQ: > + return "Standard Mode(100KHz)"; > + case I2C_MAX_FAST_MODE_FREQ: > + return "Fast Mode(400KHz)"; > + case I2C_MAX_FAST_MODE_PLUS_FREQ: > + return "Fast Mode Plus(1.0MHz)"; > + case I2C_MAX_TURBO_MODE_FREQ: > + return "Turbo Mode(1.4MHz)"; > + case I2C_MAX_HIGH_SPEED_MODE_FREQ: > + return "High Speed Mode(3.4MHz)"; > + case I2C_MAX_ULTRA_FAST_MODE_FREQ: > + return "Ultra Fast Mode(5.0MHz)"; > + default: > + return "Unknown Mode"; > + } > +} > + > struct module; > struct property_entry; > > -- > 2.8.1 > -- With Best Regards, Andy Shevchenko