diff options
Diffstat (limited to 'drivers/hwmon/ams')
-rw-r--r-- | drivers/hwmon/ams/ams-core.c | 3 | ||||
-rw-r--r-- | drivers/hwmon/ams/ams-i2c.c | 8 |
2 files changed, 4 insertions, 7 deletions
diff --git a/drivers/hwmon/ams/ams-core.c b/drivers/hwmon/ams/ams-core.c index dbe6a32c064e..6db973739725 100644 --- a/drivers/hwmon/ams/ams-core.c +++ b/drivers/hwmon/ams/ams-core.c | |||
@@ -219,9 +219,6 @@ int __init ams_init(void) | |||
219 | /* Found PMU motion sensor */ | 219 | /* Found PMU motion sensor */ |
220 | return ams_pmu_init(np); | 220 | return ams_pmu_init(np); |
221 | #endif | 221 | #endif |
222 | |||
223 | printk(KERN_ERR "ams: No motion sensor found.\n"); | ||
224 | |||
225 | return -ENODEV; | 222 | return -ENODEV; |
226 | } | 223 | } |
227 | 224 | ||
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; |