android_kernel_xiaomi_sm8350/drivers/hwmon
Hans de Goede faf9b61632 [PATCH] hwmon: abituguru timeout fixes
This patch contains 2 sets of fixes for the abituguru:
 1) Much improved timeout handling, drasticly reducing the amount of
    timeout errors on some motherboards
 2) Fix the exit paths in the bank1 sensor type detect code to always
    restore the original settings even on an error. Without this our
    special test settings could remain seriously confusing the system
    BIOS's setup menu.

Both are very much related and are must haves, to avoid messing up the
uguru CMOS settings.

Detailed changes:
- Much improved timeout / wait for status handling. Many thanks to Sunil
  Kumar, for all his testing, ideas and patches! The code now first busy
  waits, polling the uguru for the expected status as this usually
  succeeds pretty quickly (within 90 reads). To avoid unnecessary CPU burn
  in timeout conditions, the amount of busy waiting has been halved from
  previous versions (120 tries instead of 250). This is not a problem,
  because this version goes to sleep after 120 attemps for 1 jiffy and
  then tries again, it does this sleep and try again 5 times before
  finally giving up. This (almost?) completly removes the timeout errors
  some people have seen regulary. Apparently some older uguru versions
  sometimes are distracted for a (relatively) long time. This solves this.
- These timeout errors not only occur in the sending address part of
  reading the uguru but also in the wait for read state, so errors in
  this state are now handled as retryable just like send address state
  errors and are only logged and reported to userspace if 3 executive
  tries fail.
- Fix a very nasty bug in the bank1 sensor type detection code, where it
  would not restore the original settings in any of the error paths!
- Since not successfully restoring the original settings can seriously
  confuse the system BIOS (hang when entering the relevant setup menu),
  we now try restoring them 3 times before giving up.

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-08-26 13:05:19 -07:00
..
abituguru.c [PATCH] hwmon: abituguru timeout fixes 2006-08-26 13:05:19 -07:00
adm1021.c [PATCH] hwmon: Semaphore to mutex conversions 2006-03-23 14:21:52 -08:00
adm1025.c [PATCH] hwmon: Semaphore to mutex conversions 2006-03-23 14:21:52 -08:00
adm1026.c [PATCH] I2C: hwmon: Rename register parameters 2006-03-23 14:21:55 -08:00
adm1031.c [PATCH] hwmon: Semaphore to mutex conversions 2006-03-23 14:21:52 -08:00
adm9240.c [PATCH] hwmon: Semaphore to mutex conversions 2006-03-23 14:21:52 -08:00
asb100.c spelling fixes 2006-06-26 18:35:02 +02:00
atxp1.c [PATCH] hwmon: Semaphore to mutex conversions 2006-03-23 14:21:52 -08:00
ds1621.c [PATCH] hwmon: Semaphore to mutex conversions 2006-03-23 14:21:52 -08:00
f71805f.c [PATCH] f71805f: Resource needs not be global 2006-06-22 11:10:32 -07:00
fscher.c [PATCH] hwmon: Semaphore to mutex conversions 2006-03-23 14:21:52 -08:00
fscpos.c [PATCH] I2C: hwmon: Rename register parameters 2006-03-23 14:21:55 -08:00
gl518sm.c [PATCH] hwmon: Semaphore to mutex conversions 2006-03-23 14:21:52 -08:00
gl520sm.c [PATCH] s/;;/;/g 2006-03-24 07:33:24 -08:00
hdaps.c [PATCH] hwmon: Fix a typo in the hdaps driver 2006-06-22 11:10:34 -07:00
hwmon-vid.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
hwmon.c [PATCH] hwmon: add required idr locking 2006-03-23 14:21:55 -08:00
it87.c [PATCH] I2C: hwmon: Rename register parameters 2006-03-23 14:21:55 -08:00
Kconfig [PATCH] lm70: New hardware monitoring driver 2006-06-22 11:10:35 -07:00
lm63.c [PATCH] hwmon: Semaphore to mutex conversions 2006-03-23 14:21:52 -08:00
lm70.c [PATCH] lm70: New hardware monitoring driver 2006-06-22 11:10:35 -07:00
lm75.c [PATCH] hwmon: Semaphore to mutex conversions 2006-03-23 14:21:52 -08:00
lm75.h [PATCH] hwmon: move SENSORS_LIMIT to hwmon.h 2005-09-05 09:14:17 -07:00
lm77.c [PATCH] hwmon: Semaphore to mutex conversions 2006-03-23 14:21:52 -08:00
lm78.c spelling fixes 2006-06-26 18:35:02 +02:00
lm80.c spelling fixes 2006-06-26 18:35:02 +02:00
lm83.c [PATCH] lm83: Add LM82 support 2006-06-22 11:10:31 -07:00
lm85.c [PATCH] I2C: hwmon: Rename register parameters 2006-03-23 14:21:55 -08:00
lm87.c spelling fixes 2006-06-26 18:35:02 +02:00
lm90.c [PATCH] hwmon: Semaphore to mutex conversions 2006-03-23 14:21:52 -08:00
lm92.c [PATCH] hwmon: Semaphore to mutex conversions 2006-03-23 14:21:52 -08:00
Makefile [PATCH] lm70: New hardware monitoring driver 2006-06-22 11:10:35 -07:00
max1619.c [PATCH] hwmon: Semaphore to mutex conversions 2006-03-23 14:21:52 -08:00
pc87360.c [PATCH] hwmon: Semaphore to mutex conversions 2006-03-23 14:21:52 -08:00
sis5595.c spelling fixes 2006-06-26 18:35:02 +02:00
smsc47b397.c [PATCH] hwmon: Semaphore to mutex conversions 2006-03-23 14:21:52 -08:00
smsc47m1.c spelling fixes 2006-06-26 18:35:02 +02:00
smsc47m192.c [PATCH] smsc47m192: New hwmon driver for SMSC LPC47M192/997 2006-06-22 11:10:32 -07:00
via686a.c [PATCH] hwmon: Semaphore to mutex conversions 2006-03-23 14:21:52 -08:00
vt8231.c [PATCH] hwmon: Semaphore to mutex conversions 2006-03-23 14:21:52 -08:00
w83l785ts.c [PATCH] hwmon: Semaphore to mutex conversions 2006-03-23 14:21:52 -08:00
w83627ehf.c [PATCH] w83627ehf: Add alarms support 2006-06-22 11:10:32 -07:00
w83627hf.c spelling fixes 2006-06-26 18:35:02 +02:00
w83781d.c spelling fixes 2006-06-26 18:35:02 +02:00
w83791d.c [PATCH] HWMON: w83791d: New hardware monitoring driver for the Winbond W83791D 2006-06-22 11:10:33 -07:00
w83792d.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00