|
@@ -85,17 +85,17 @@ static int ams_i2c_write(u8 reg, u8 value)
|
|
|
static int ams_i2c_cmd(enum ams_i2c_cmd cmd)
|
|
|
{
|
|
|
s32 result;
|
|
|
- int remaining = HZ / 20;
|
|
|
+ int count = 3;
|
|
|
|
|
|
ams_i2c_write(AMS_COMMAND, cmd);
|
|
|
- mdelay(5);
|
|
|
+ msleep(5);
|
|
|
|
|
|
- while (remaining) {
|
|
|
+ while (count--) {
|
|
|
result = ams_i2c_read(AMS_COMMAND);
|
|
|
if (result == 0 || result & 0x80)
|
|
|
return 0;
|
|
|
|
|
|
- remaining = schedule_timeout(remaining);
|
|
|
+ schedule_timeout_uninterruptible(HZ / 20);
|
|
|
}
|
|
|
|
|
|
return -1;
|