aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hwmon/ams/ams-i2c.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-08 15:07:28 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-08 15:07:28 -0400
commit36f021b579d195cdc5fa6f3e2bab198b4bf70643 (patch)
tree96d3c97f5e5214d2aa7151c12a22a7eb345dbaa1 /drivers/hwmon/ams/ams-i2c.c
parent215d06780d13fd7de629b02b61b7b7bf88ce5039 (diff)
parent1d72acf91abb327e25137ad2e371c1a788b34e45 (diff)
Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6
* 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: (32 commits) Use menuconfig objects - hwmon hwmon/smsc47b397: Use dynamic sysfs callbacks hwmon/smsc47b397: Convert to a platform driver hwmon/w83781d: Deprecate W83627HF support hwmon/w83781d: Use dynamic sysfs callbacks hwmon/w83781d: Be less i2c_client-centric hwmon/w83781d: Clean up conversion macros hwmon/w83781d: No longer use i2c-isa hwmon/ams: Do not print error on systems without apple motion sensor hwmon/ams: Fix I2C read retry logic hwmon: New AD7416, AD7417 and AD7418 driver hwmon/coretemp: Add documentation hwmon: New coretemp driver i386: Use functions from library in msr driver i386: Add safe variants of rdmsr_on_cpu and wrmsr_on_cpu hwmon/lm75: Use dynamic sysfs callbacks hwmon/lm78: Use dynamic sysfs callbacks hwmon/lm78: Be less i2c_client-centric hwmon/lm78: No longer use i2c-isa hwmon: New max6650 driver ...
Diffstat (limited to 'drivers/hwmon/ams/ams-i2c.c')
-rw-r--r--drivers/hwmon/ams/ams-i2c.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/hwmon/ams/ams-i2c.c b/drivers/hwmon/ams/ams-i2c.c
index ccd5cefae90e..957760536a4c 100644
--- a/drivers/hwmon/ams/ams-i2c.c
+++ b/drivers/hwmon/ams/ams-i2c.c
@@ -85,17 +85,17 @@ static int ams_i2c_write(u8 reg, u8 value)
85static int ams_i2c_cmd(enum ams_i2c_cmd cmd) 85static int ams_i2c_cmd(enum ams_i2c_cmd cmd)
86{ 86{
87 s32 result; 87 s32 result;
88 int remaining = HZ / 20; 88 int count = 3;
89 89
90 ams_i2c_write(AMS_COMMAND, cmd); 90 ams_i2c_write(AMS_COMMAND, cmd);
91 mdelay(5); 91 msleep(5);
92 92
93 while (remaining) { 93 while (count--) {
94 result = ams_i2c_read(AMS_COMMAND); 94 result = ams_i2c_read(AMS_COMMAND);
95 if (result == 0 || result & 0x80) 95 if (result == 0 || result & 0x80)
96 return 0; 96 return 0;
97 97
98 remaining = schedule_timeout(remaining); 98 schedule_timeout_uninterruptible(HZ / 20);
99 } 99 }
100 100
101 return -1; 101 return -1;