Message ID | 1617109549-4013-3-git-send-email-yangyicong@hisilicon.com |
---|---|
State | Superseded |
Headers | show |
Series | [v4,1/4] i2c: core: add managed function for adding i2c adapters | expand |
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@linux.intel.com> > Signed-off-by: Yicong Yang <yangyicong@hisilicon.com> > --- > 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 >
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;
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. Signed-off-by: Yicong Yang <yangyicong@hisilicon.com> --- include/linux/i2c.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)