diff options
author | Eric Piel <eric.piel@tremplin-utc.net> | 2009-06-16 18:34:14 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-16 22:47:57 -0400 |
commit | a002ee896dfd08ce9fba44e9ae513c9094699a27 (patch) | |
tree | 3a66ea80ad5523359e3f3f34be39d902d84706bb /drivers/hwmon/hp_accel.c | |
parent | c28842421cb6a29fd952043381bc5391bdf6be50 (diff) |
lis3: remove automatic shutdown of the device
After measurement on my laptop, it seems that turning off the device does
not bring any energy saving (within 0.1W precision). So let's keep the
device always on. It simplifies the code, and it avoids the problem of
reading a wrong value sometimes just after turning the device on.
Moreover, since commit ef2cfc790bf5f0ff189b01eabc0f4feb5e8524df had been
too zealous, the device was actually never turned off anyway. This patch
also restores the damages done by this commit concerning the
initialisation/poweroff.
Also do more clean up with the usage of the lis3_dev global variable.
Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/hwmon/hp_accel.c')
-rw-r--r-- | drivers/hwmon/hp_accel.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/hwmon/hp_accel.c b/drivers/hwmon/hp_accel.c index abca7e9f953b..0ebd0099e602 100644 --- a/drivers/hwmon/hp_accel.c +++ b/drivers/hwmon/hp_accel.c | |||
@@ -324,7 +324,7 @@ static int lis3lv02d_remove(struct acpi_device *device, int type) | |||
324 | flush_work(&hpled_led.work); | 324 | flush_work(&hpled_led.work); |
325 | led_classdev_unregister(&hpled_led.led_classdev); | 325 | led_classdev_unregister(&hpled_led.led_classdev); |
326 | 326 | ||
327 | return lis3lv02d_remove_fs(); | 327 | return lis3lv02d_remove_fs(&lis3_dev); |
328 | } | 328 | } |
329 | 329 | ||
330 | 330 | ||
@@ -338,13 +338,7 @@ static int lis3lv02d_suspend(struct acpi_device *device, pm_message_t state) | |||
338 | 338 | ||
339 | static int lis3lv02d_resume(struct acpi_device *device) | 339 | static int lis3lv02d_resume(struct acpi_device *device) |
340 | { | 340 | { |
341 | /* put back the device in the right state (ACPI might turn it on) */ | 341 | lis3lv02d_poweron(&lis3_dev); |
342 | mutex_lock(&lis3_dev.lock); | ||
343 | if (lis3_dev.usage > 0) | ||
344 | lis3lv02d_poweron(&lis3_dev); | ||
345 | else | ||
346 | lis3lv02d_poweroff(&lis3_dev); | ||
347 | mutex_unlock(&lis3_dev.lock); | ||
348 | return 0; | 342 | return 0; |
349 | } | 343 | } |
350 | #else | 344 | #else |