diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-08 15:07:28 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-08 15:07:28 -0400 |
commit | 36f021b579d195cdc5fa6f3e2bab198b4bf70643 (patch) | |
tree | 96d3c97f5e5214d2aa7151c12a22a7eb345dbaa1 /drivers/hwmon/ams/ams-i2c.c | |
parent | 215d06780d13fd7de629b02b61b7b7bf88ce5039 (diff) | |
parent | 1d72acf91abb327e25137ad2e371c1a788b34e45 (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.c | 8 |
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) | |||
85 | static int ams_i2c_cmd(enum ams_i2c_cmd cmd) | 85 | static 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; |