Driver core: Fix cleanup when failing device_add().
[wrt350n-kernel.git] / Documentation / hwmon / smsc47m1
blob42c8431b3c9dc37bf612a308cb5d0b56bb89fb3e
1 Kernel driver smsc47m1
2 ======================
4 Supported chips:
5   * SMSC LPC47B27x, LPC47M112, LPC47M10x, LPC47M13x, LPC47M14x,
6     LPC47M15x and LPC47M192
7     Addresses scanned: none, address read from Super I/O config space
8     Prefix: 'smsc47m1'
9     Datasheets:
10         http://www.smsc.com/main/datasheets/47b27x.pdf
11         http://www.smsc.com/main/datasheets/47m10x.pdf
12         http://www.smsc.com/main/datasheets/47m112.pdf
13         http://www.smsc.com/main/tools/discontinued/47m13x.pdf
14         http://www.smsc.com/main/datasheets/47m14x.pdf
15         http://www.smsc.com/main/tools/discontinued/47m15x.pdf
16         http://www.smsc.com/main/datasheets/47m192.pdf
17   * SMSC LPC47M292
18     Addresses scanned: none, address read from Super I/O config space
19     Prefix: 'smsc47m2'
20     Datasheet: Not public
21   * SMSC LPC47M997
22     Addresses scanned: none, address read from Super I/O config space
23     Prefix: 'smsc47m1'
24     Datasheet: none
26 Authors:
27         Mark D. Studebaker <mdsxyz123@yahoo.com>,
28         With assistance from Bruce Allen <ballen@uwm.edu>, and his
29         fan.c program: http://www.lsc-group.phys.uwm.edu/%7Eballen/driver/
30         Gabriele Gorla <gorlik@yahoo.com>,
31         Jean Delvare <khali@linux-fr.org>
33 Description
34 -----------
36 The Standard Microsystems Corporation (SMSC) 47M1xx Super I/O chips
37 contain monitoring and PWM control circuitry for two fans.
39 The LPC47M15x, LPC47M192 and LPC47M292 chips contain a full 'hardware
40 monitoring block' in addition to the fan monitoring and control. The
41 hardware monitoring block is not supported by this driver, use the
42 smsc47m192 driver for that.
44 No documentation is available for the 47M997, but it has the same device
45 ID as the 47M15x and 47M192 chips and seems to be compatible.
47 Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
48 triggered if the rotation speed has dropped below a programmable limit. Fan
49 readings can be divided by a programmable divider (1, 2, 4 or 8) to give
50 the readings more range or accuracy. Not all RPM values can accurately be
51 represented, so some rounding is done. With a divider of 2, the lowest
52 representable value is around 2600 RPM.
54 PWM values are from 0 to 255.
56 If an alarm triggers, it will remain triggered until the hardware register
57 is read at least once. This means that the cause for the alarm may
58 already have disappeared! Note that in the current implementation, all
59 hardware registers are read whenever any data is read (unless it is less
60 than 1.5 seconds since the last update). This means that you can easily
61 miss once-only alarms.
64 **********************
65 The lm_sensors project gratefully acknowledges the support of
66 Intel in the development of this driver.