]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
staging: sm750fb: use BIT macro for I2C_STATUS fields
authorMike Rapoport <mike.rapoport@gmail.com>
Wed, 10 Feb 2016 16:34:21 +0000 (18:34 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 12 Feb 2016 03:52:37 +0000 (19:52 -0800)
Replace complex definition of I2C_STATUS register fields with BIT() macro
and use open-coded implementation for register manipulation

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/sm750fb/ddk750_hwi2c.c
drivers/staging/sm750fb/ddk750_reg.h

index 1811c4bd007fc783d1153fa443b13228c282ca8f..231c02114ed437a81a1a4c9564ca4d5c3fd43ac0 100644 (file)
@@ -59,9 +59,7 @@ static long hw_i2c_wait_tx_done(void)
 
        /* Wait until the transfer is completed. */
        timeout = HWI2C_WAIT_TIMEOUT;
-       while ((FIELD_GET(PEEK32(I2C_STATUS),
-                         I2C_STATUS, TX) != I2C_STATUS_TX_COMPLETED) &&
-              (timeout != 0))
+       while (!(PEEK32(I2C_STATUS) & I2C_STATUS_TX) && (timeout != 0))
                timeout--;
 
        if (timeout == 0)
index 2a8ad57e6311d159b200aadd88432033acc0788f..63995995be14bc4e48fea8ca16e74f7d317c1e42 100644 (file)
 #define I2C_CTRL_EN                                     BIT(0)
 
 #define I2C_STATUS                                      0x010042
-#define I2C_STATUS_TX                                   3:3
-#define I2C_STATUS_TX_PROGRESS                          0
-#define I2C_STATUS_TX_COMPLETED                         1
-#define I2C_TX_DONE                                     0x08
-#define I2C_STATUS_ERR                                  2:2
-#define I2C_STATUS_ERR_NORMAL                           0
-#define I2C_STATUS_ERR_ERROR                            1
-#define I2C_STATUS_ERR_CLEAR                            0
-#define I2C_STATUS_ACK                                  1:1
-#define I2C_STATUS_ACK_RECEIVED                         0
-#define I2C_STATUS_ACK_NOT                              1
-#define I2C_STATUS_BSY                                  0:0
-#define I2C_STATUS_BSY_IDLE                             0
-#define I2C_STATUS_BSY_BUSY                             1
+#define I2C_STATUS_TX                                   BIT(3)
+#define I2C_STATUS_ERR                                  BIT(2)
+#define I2C_STATUS_ACK                                  BIT(1)
+#define I2C_STATUS_BSY                                  BIT(0)
 
 #define I2C_RESET                                       0x010042
 #define I2C_RESET_BUS_ERROR                             2:2