13 Jan, 2012

1 commit


06 Jan, 2012

1 commit


13 Jan, 2011

1 commit

  • The code triggers a false warning with older versions of gcc:
    w83795.c: In function 'w83795_update_device':
    w83795.c:475: warning: 'lsb' may be used uninitialized in this function

    I admit that the code is a little tricky, but I see no way to write it
    differently without hurting performance. So let's just silent the
    warning with a needless initialization.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     

16 Nov, 2010

7 commits

  • On the W83795ADG, there's a single pin for BEEP and OVT#, so you
    can't have both. Check the configuration and don't create beep
    attributes when BEEP pin is not available.

    The W83795G has a dedicated BEEP pin so the functionality is always
    available there.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • When asked to clear the intrusion alarm, do so immediately. We have to
    invalidate the cache to make sure the new status will be read. But we
    also have to read from the status register once to clear the pending
    alarm, as writing to CLR_CHS surprising won't clear it automatically.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • We can't read the intrusion state from the real-time alarm registers
    as we do for all other alarm flags, because real-time alarm bits don't
    stick (by definition) and the intrusion state has to stick until
    explicitly cleared (otherwise it has little value.)

    So we have to use the interrupt status register instead, which is read
    from the same address but with a configuration bit flipped in another
    register.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • Don't expose raw register values to user-space. Decode and encode
    temperature channels selected as temperature sources as needed.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • Temperature sources are not correlated directly with temperature
    channels. A look-up table is required to find out which temperature
    sources can be used depending on which temperature channels (both
    analog and digital) are enabled.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • Expose fan control method (DC vs. PWM) using the standard sysfs
    attributes. I've made it read-only as the board should be wired for
    a given mode, the BIOS should have set up the chip for this mode, and
    you shouldn't have to change it. But it would be easy enough to make
    it changeable if someone comes up with a use case.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • There were two bugs:
    * Speed cruise mode was improperly reported for all fans but fan1.
    * Fan control method (PWM vs. DC) was mixed with the control mode.
    It will be added back as a separate attribute, as per the standard
    sysfs interface.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     

29 Oct, 2010

30 commits