07 Jan, 2009

18 commits

  • Check for ACPI resource conflicts in hwmon drivers. I've included
    all Super-I/O and PCI drivers.

    I've voluntarily left out:
    * Vendor-specific drivers: if they conflicted on any system, this would
    pretty much mean that they conflict on all systems, and we would know
    by now.
    * Legacy ISA drivers (lm78 and w83781d): they only support chips found
    on old designs were ACPI either wasn't supported or didn't deal with
    thermal management.
    * Drivers accessing the I/O resources indirectly (e.g. through SMBus):
    the checks are already done where they belong, i.e. in the bus drivers.

    Signed-off-by: Jean Delvare
    Acked-by: David Hubbard

    Jean Delvare
     
  • The RPM after conversion from / before conversion to a register value can be
    much more than 65535 (up to 1500000), so putting this into an u16 can cause
    overflows. This changes the functions to use an int to store / get RPM instead.

    Signed-off-by: Hans de Goede
    Signed-off-by: Jean Delvare

    Hans de Goede
     
  • Print the mode (duty-cycle or RPM) of each fan on driver load.

    Signed-off-by: Hans de Goede
    Signed-off-by: Jean Delvare

    Hans de Goede
     
  • Adjust auto_channels_temp show and store functions for different numbering of
    temps between f8000 and other supported models.

    Signed-off-by: Hans de Goede
    Signed-off-by: Jean Delvare

    Hans de Goede
     
  • For some reason the fan_attr array for the f71862fg was missing the attr for
    the 3th pwm output. This patch fixes this.

    Signed-off-by: Hans de Goede
    Signed-off-by: Jean Delvare

    Hans de Goede
     
  • And (finally) the patch actually adding f8000 support.

    Signed-off-by: Hans de Goede
    Signed-off-by: Jean Delvare

    Hans de Goede
     
  • Remove the fan_mode module option it was a monstrosity to begin with, and
    when adding support for the F8000 it becomes a real pain!

    Signed-off-by: Hans de Goede
    Signed-off-by: Jean Delvare

    Hans de Goede
     
  • While studying the datasheets for adding F8000 support, I noticed that the
    F718x2 has separate alarms (and beep control) for its max and crit limits.

    We keep the temp#_alarm attributes as they are, even though it would be more
    logical to rename them to temp#_max_alarm. Because lm_sensors v2 depends
    on them.

    Signed-off-by: Hans de Goede
    Signed-off-by: Jean Delvare

    Hans de Goede
     
  • More F8000 prep work. Take over the checking if the hwmon part is not
    powered down from the standalone f8000 driver.

    This check is valid for all supported models.

    Signed-off-by: Hans de Goede
    Signed-off-by: Jean Delvare

    Hans de Goede
     
  • Simplify fan and temp hyst. handling by treating the registers as an array of
    nibbles instead of using switch cases. Also unify the way hysts are handled
    between temp and fans, the temp code was storing the actual per temp hyst
    values in 4 u8's, where as the fan code was storing actual register values.

    Signed-off-by: Hans de Goede
    Signed-off-by: Jean Delvare

    Hans de Goede
     
  • While working on adding F8000 support I noticed that various of the
    store sysfs functions (and a few of the show also) had issues.

    This patch fixes the following issues in these functions:
    * store: storing the result of strto[u]l in an int, resulting in a possible
    overflow before boundary checking
    * store: use of f71882fg_update_device(), we don't want to read the whole
    device in store functions, just the registers we need
    * store: use of cached register values instead of reading the needed regs
    in the store function, including cases where f71882fg_update_device() was
    not used, this could cause real isues
    * show: shown value is a calculation of 2 or more cached register reads,
    without locking the data struct.

    Signed-off-by: Hans de Goede
    Signed-off-by: Jean Delvare

    Hans de Goede
     
  • This patch is a preparation patch for adding F8000 support to the f71882fg
    driver. If you look at the register addresses and esp, the bits used for
    the temperature channels, then you will notice that it appears that they
    start at 1 in a system meant to start at 0. As the F8000 actually uses the 0
    addresses and bits, this patch changes the f71882fg driver to take 4
    temperatures numbered 0-3 in to account, using 1-3 in this new scheme for
    the temperatures actually present in the F718x2FG.

    Signed-off-by: Hans de Goede
    Signed-off-by: Jean Delvare

    Hans de Goede
     
  • The f71882fg driver did some io to ioports it hadn't reserved yet in its
    find (detect) function, this patches moves this io to the probe function
    where these ports are reserved and this io belongs.

    Signed-off-by: Hans de Goede
    Signed-off-by: Jean Delvare

    Hans de Goede
     
  • This patch adds support for the Fintek f71862fg superio monitoring
    functions to the f71882fg driver.

    This support has been tested without problems on a Jetway J9F2 by
    Tony McConnell.

    Signed-off-by: Hans de Goede
    Signed-off-by: Jean Delvare

    Hans de Goede
     
  • Various small cleanups as preparation for adding f71862fg support to the
    f71882fg driver.

    Signed-off-by: Hans de Goede
    Signed-off-by: Jean Delvare

    Hans de Goede
     
  • Add PWM (fan speed control) support to the f71882fg driver. Both
    manual control and automatic (temperature-based) modes are supported.
    Additionally, each mode has a PWM-based and an RPM-based variant. By
    default we use the mode set by the BIOS.

    Signed-off-by: Hans de Goede
    Cc: Mark van Doesburg
    Signed-off-by: Jean Delvare

    Mark van Doesburg
     
  • A few cleanups that were originally part of a larger patch but are
    better submitted separately.

    Signed-off-by: Hans de Goede
    Cc: Mark van Doesburg
    Signed-off-by: Jean Delvare

    Mark van Doesburg
     
  • Convert f71882fg driver from SENSOR_ATTR to SENSOR_ATTR2 use, this is a
    preparation patch for adding pwm support, which is broken out to make what
    changes really in the pwm support patch clear.

    Signed-off-by: Hans de Goede
    Cc: Mark van Doesburg
    Signed-off-by: Jean Delvare

    Mark van Doesburg
     

07 Aug, 2008

1 commit


08 Feb, 2008

1 commit

  • While it is possible to force SMBus-based hardware monitoring chip
    drivers to drive a not officially supported device, we do not have this
    possibility for Super-I/O-based drivers. That's unfortunate because
    sometimes newer chips are fully compatible and just forcing the driver
    to load would work. Instead of that we have to tell the users to
    recompile the kernel driver, which isn't an easy task for everyone.

    So, I propose that we add a module parameter to all Super-I/O based
    hardware monitoring drivers, letting advanced users force the driver
    to load on their machine. The user has to provide the device ID of a
    supposedly compatible device. This requires looking at the source code or
    a datasheet, so I am confident that users can't randomly force a driver
    without knowing what they are doing. Thus this should be relatively safe.

    As you can see from the code, the implementation is pretty simple and
    unintrusive.

    Signed-off-by: Jean Delvare
    Acked-by: Hans de Goede
    Signed-off-by: Mark M. Hoffman

    Jean Delvare
     

10 Oct, 2007

3 commits

  • Convert from class_device to device for hwmon_device_register/unregister

    Signed-off-by: Tony Jones
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Kay Sievers
    Signed-off-by: Mark M. Hoffman

    Tony Jones
     
  • Signed-off-by: Mark M. Hoffman

    Mark M. Hoffman
     
  • This is the second version of a new driver for the hardware monitoring features
    of the Fintek F71882FG and F71883FG Super-I/O chips. This version has several
    small fixes for flaws discovered during the review of the first version.

    This version of the driver does not support the pwm part of these chips (yet).
    I'll first design a sysfs api for this and post that for discussion, and then
    implement pwm support as an incremental patch over this one.

    This driver supports all sensors of this chip, except for the vid inputs. The
    vid inputs are somewhat documented in the datasheet, but I know nothing about
    vid/vrm stuff. Help with this would be much appreciated.

    Signed-off-by: Hans de Goede
    Acked-by: Darrick J. Wong
    Signed-off-by: Mark M. Hoffman

    Hans de Goede