mirror of https://gitee.com/openkylin/linux.git
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: Mike Rapoport <mike.rapoport@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b71413e0d5
commit
3e155b8134
|
@ -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)
|
||||
|
|
|
@ -1612,20 +1612,10 @@
|
|||
#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
|
||||
|
|
Loading…
Reference in New Issue