aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hwmon/ams
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/hwmon/ams')
-rw-r--r--drivers/hwmon/ams/ams-core.c3
-rw-r--r--drivers/hwmon/ams/ams-i2c.c8
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)
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;