i2c: designware_i2c: Use an enum for selected speed mode
authorSimon Glass <sjg@chromium.org>
Thu, 23 Jan 2020 18:48:08 +0000 (11:48 -0700)
committerHeiko Schocher <hs@denx.de>
Mon, 27 Jan 2020 06:19:13 +0000 (07:19 +0100)
Group these #defines into an enum to make it easier to understand the
relationship between them.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jun Chen <ptchentw@gmail.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
drivers/i2c/designware_i2c.c
drivers/i2c/designware_i2c.h

index dd1cc0b..2416ef3 100644 (file)
@@ -57,10 +57,10 @@ static unsigned int __dw_i2c_set_bus_speed(struct i2c_regs *i2c_base,
                                           unsigned int speed,
                                           unsigned int bus_mhz)
 {
+       enum i2c_speed_mode i2c_spd;
        unsigned int cntl;
        unsigned int hcnt, lcnt;
        unsigned int ena;
-       int i2c_spd;
 
        /* Allow high speed if there is no config, or the config allows it */
        if (speed >= I2C_HIGH_SPEED &&
index d4c1ca0..569cab6 100644 (file)
@@ -136,9 +136,13 @@ struct i2c_regs {
 #define IC_STATUS_ACT          0x0001
 
 /* Speed Selection */
-#define IC_SPEED_MODE_STANDARD 1
-#define IC_SPEED_MODE_FAST     2
-#define IC_SPEED_MODE_HIGH     3
+enum i2c_speed_mode {
+       IC_SPEED_MODE_STANDARD,
+       IC_SPEED_MODE_FAST,
+       IC_SPEED_MODE_HIGH,
+
+       IC_SPEED_MODE_COUNT,
+};
 
 #define I2C_HIGH_SPEED         3400000
 #define I2C_FAST_SPEED         400000