Commit 3e155b81 authored by Mike Rapoport's avatar Mike Rapoport Committed by Greg Kroah-Hartman

staging: sm750fb: use BIT macro for I2C_STATUS fields

Replace complex definition of I2C_STATUS register fields with BIT() macro
and use open-coded implementation for register manipulation
Signed-off-by: default avatarMike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent b71413e0
...@@ -59,9 +59,7 @@ static long hw_i2c_wait_tx_done(void) ...@@ -59,9 +59,7 @@ static long hw_i2c_wait_tx_done(void)
/* Wait until the transfer is completed. */ /* Wait until the transfer is completed. */
timeout = HWI2C_WAIT_TIMEOUT; timeout = HWI2C_WAIT_TIMEOUT;
while ((FIELD_GET(PEEK32(I2C_STATUS), while (!(PEEK32(I2C_STATUS) & I2C_STATUS_TX) && (timeout != 0))
I2C_STATUS, TX) != I2C_STATUS_TX_COMPLETED) &&
(timeout != 0))
timeout--; timeout--;
if (timeout == 0) if (timeout == 0)
......
...@@ -1612,20 +1612,10 @@ ...@@ -1612,20 +1612,10 @@
#define I2C_CTRL_EN BIT(0) #define I2C_CTRL_EN BIT(0)
#define I2C_STATUS 0x010042 #define I2C_STATUS 0x010042
#define I2C_STATUS_TX 3:3 #define I2C_STATUS_TX BIT(3)
#define I2C_STATUS_TX_PROGRESS 0 #define I2C_STATUS_ERR BIT(2)
#define I2C_STATUS_TX_COMPLETED 1 #define I2C_STATUS_ACK BIT(1)
#define I2C_TX_DONE 0x08 #define I2C_STATUS_BSY BIT(0)
#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_RESET 0x010042 #define I2C_RESET 0x010042
#define I2C_RESET_BUS_ERROR 2:2 #define I2C_RESET_BUS_ERROR 2:2
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment