• Jean Delvare's avatar
    [PATCH] I2C: Fourth auto-fan control interface proposal · fe394f66
    Jean Delvare authored
    Here comes my fourth (and hopefully last) sysfs interface proposal for
    implementing auto-fan control in 2.6. Previous proposals have been
    discussed here:
    
    [1] http://archives.andrew.net.au/lm-sensors/msg07517.html
    [2] http://archives.andrew.net.au/lm-sensors/msg08049.html
    [3] http://archives.andrew.net.au/lm-sensors/msg18008.html
    
    The interface is still made up of two parts: per fan temp channels
    selection, and trip points selection. Changes from the third proposal:
    
    pwm[1-*]_enable value 2 is now used to explicitely state the auto pwm
    mode. This was proposed by Mark D. Studebaker [4].
    
    [4] http://archives.andrew.net.au/lm-sensors/msg18011.html
    
    Temp channels selection
    =======================
    
    Renamed files from fan[1-*]_auto_channels to
    pwm[1-*]_auto_channels_temp. The change from fan tp pwm is to match the
    recent renaming suggested by Mark M. Hoffman [5]. The "_temp" suffix is
    to leave some room for a "_fan" suffix at a later time if new chips
    drive auto pwm according to fan speeds instead of temperature.
    
    [5] http://archives.andrew.net.au/lm-sensors/msg18797.html
    
    Trip points
    ===========
    
    Trip points are now numbered (point1, point2, etc...) instead of named
    (_off, _min, _max, _full...). This solves the problem of various chips
    having a different number of trip points. The interface is still chip
    independent in that it doesn't require chip-specific knowledge to be
    used by user-space apps.
    
    The reason for this change is that newer chips tend to have more trip
    points. the LM63 has 8, the LM93 has no less than 12. Also, I read in
    the LM63 datasheet that ideal pwm vs temperature curve were parabolic in
    shape. Seems hard to achieve this if we arbitrarily lock the number of
    trip points to 3 ;)
    
    I also introduced an optional hysteresis temperature for trip points.
    The LM63 has this. Since it makes full sense I'd expect other chips to
    propose this as well.
    
    As before, there are two sets of files, each chip driver picks the one
    matching its internal model: trip points are either temperature
    channel-dependent (ADM1031...) or pwm channel-dependent (IT87xx...). If
    we ever come accross fan speed-driven pwm outputs where trip points are
    fan channel-dependent we may have to offer a third set of files. We'll
    see when/if this happens.
    
    I hope I have taken everyone's comments and advice into account and we
    can make this interface proposal part of the sysfs interface standard
    now. I'm sorry it took so long. Comments welcome.
    Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
    fe394f66
sysfs-interface 8.57 KB